Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.46.0-wmf.24
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:Ekspresowe kasowanie
10
1593
540938
510872
2026-04-27T09:09:28Z
Persino
2851
540938
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| nazwa = mbox
| typ = poważny
| grafika = {{ikona|ek|50}}
| nazwa przestrzeni nazw = {{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}}
| tekst =
{{P|{{Ekspresowe kasowanie/wstęp}}<!--
-->{{#if:{{{1|{{{powód|}}}}}}|<!--
<!-- UWAGA! Dodając tutaj nowe uzasadnienie w {{Ekspresowe kasowanie/powód|...}} pamiętaj o zaktualizowaniu {{Ekspresowe kasowanie/usuń|...}}
-->
{{Ekspresowe kasowanie/powód|{{{1|{{{powód|}}}}}}}}
{{Ekspresowe kasowanie/admin}}<!--
-->}}}}
| poniżej = {{Ekspresowe kasowanie/usuń|{{{1|{{{powód|}}}}}}}}
| kategorie = {{#if:{{{bez kategorii|}}}||__NOINDEX__{{Kategoria|Ekspresowe kasowanie}}}}
}}</includeonly><!--
--><noinclude>{{Dokumentacja}}
<!-- Interwiki dodawaj do podstrony /opis, nie tutaj! -->
</noinclude>
3d23rwbotn0arvj2sk9qdrmjmvw97jy
540941
540938
2026-04-27T09:18:57Z
Persino
2851
540941
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| nazwa = mbox
| typ = poważny
| grafika = {{ikona|ek|50}}
| nazwa przestrzeni nazw = {{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}}
| tekst =
{{P|{{Ekspresowe kasowanie/wstęp}}<!--
-->{{#if:{{{1|{{{powód|}}}}}}|<!--
<!-- UWAGA! Dodając tutaj nowe uzasadnienie w {{Ekspresowe kasowanie/powód|...}} pamiętaj o zaktualizowaniu {{Ekspresowe kasowanie/usuń|...}}
-->
{{Ekspresowe kasowanie/powód|{{{1|{{{powód|}}}}}}}}
{{Ekspresowe kasowanie/admin}}<!--
-->}}}}
| poniżej = {{Ekspresowe kasowanie/usuń|{{{1|{{{powód|}}}}}}}}
| kategorie = {{#if:{{{bez kategorii|}}}||__NOINDEX__{{#invoke:Skrót|Kategoria2|Ekspresowe kasowanie}}}}
}}</includeonly><!--
--><noinclude>{{Dokumentacja}}
<!-- Interwiki dodawaj do podstrony /opis, nie tutaj! -->
</noinclude>
orfzo7650fs8uc5tslh47089sllolzm
Szablon:Dopracować
10
1613
540956
481238
2026-04-27T11:37:32Z
Persino
2851
540956
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| cecha = {{#invoke:Pudełko|Przedmiotowa cecha pudełka
| dodatkowy warunek 1 = {{#if:{{#invoke:Dopracować|nadmiarowe|Kategoria={{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}}}}|{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}}|Wikibooks|{{#if:{{#invoke:Dopracować|nadmiarowe|Kategoria=(main)}}{{#invoke:Dopracować|nadmiarowe|Kategoria=Wikijunior}}|true}}|true}}}}
| dodatkowy warunek 2 = {{#invoke:Dopracować|nieznane}}
| dodatkowy warunek 3 = {{#invoke:Dopracować|powtarzające}}
| błędy dodatkowego warunku 1 = Szablon nie powinien przyjmować nadmiarowego zbioru parametrów.
| błędy dodatkowego warunku 2 = Szablon nie powinien przyjmować nieznanych parametrów.
| błędy dodatkowego warunku 3 = Szablon nie powinien przyjmować powtarzających się parametrów.
| dodatek kategorii błędu dodatkowego warunku 1 = nadmiarowe parametry
| dodatek kategorii błędu dodatkowego warunku 2 = nieznane parametry
| dodatek kategorii błędu dodatkowego warunku 3 = powtarzające się parametry
| parametry przykładowe dodatkowego warunku 1 = Oto jest opis problemu{{!}}tamże{{!}}kategoria{{=}}2020-05{{!}}nazwa przestrzeni nazw{{=}}Kategoria
| parametry przykładowe dodatkowego warunku 2 = Oto jest opis problemu{{!}}kategoria{{=}}2020-05{{!}}nazwa przestrzeni nazw{{=}}Kategoria{{!}}nieznany{{=}}123
| parametry przykładowe dodatkowego warunku 3 = Oto jest opis problemu{{!}}styl{{=}}2020-05{{!}}styl{{!}}nazwa przestrzeni nazw{{=}}
| pierwszy człon kategorii błędu = Szablon dopracować
| nieobsługiwane strony główne = tak
| nieobsługiwane strony jednostek programowych = tak
|(main)|Wikijunior|User|Category|Template|Module|Wikibooks|Help}}
| warunek niealternatywnego wywołania = {{#invoke:Dopracować|test}}{{#ifeq:{{{1}}}|sekcja|1x}}
| alternatywne wywołanie = {{#if:{{{bez kategorii|}}}||{{Kategoria|Szablon dopracować bez podanych parametrów}}}}
| nazwa przestrzeni nazw = {{#switch:{{FULLPAGENAME}}|Szablon:Dopracować|Szablon:Dopracować/opis=Template|#default={{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}}}}
| typ = zawartość
| grafika = {{#switch:{{#invoke:Dopracować|ikona}}
| aktualizacja = {{ikona|pomczas|35|link=w:Pomoc:Ponadczasowość}}
| źródła = {{ikona|nwer|50|link=w:Wikipedia:Weryfikowalność}}
| medwer = [[Plik:Question book Asclepius.svg|50px|link=w:Wikipedia:Wiarygodne źródła (artykuły o tematyce medycznej)]]
| przypisy = [[plik:REF orange.svg|50px|link=]]
| kategoria = {{ikona|kat|35}}
| linki = {{ikona|linkwew|50}}
| wikikod = [[Plik:Wikicode icon.svg|35px|link=]]
| pov|zwodnicze|reklama = {{ikona|pov|35}}
| próżne|pustosłowie|trawa = {{ikona|pustosłowie|50}}
| zweryfikować|nierzetelne|or = {{ikona|pomuwaga|35}}
| styl|linkizew|trivia = {{ikona|miotłasw|35}}
| kryteria = {{ikona|kryterialist|35}}
| tłumaczenie = {{ikona|tłumaczenie|50|link=w:Wikipedia:Tłumaczenia}}
| uzupełnić = [[plik:Add more text icon.svg|35px|link=]]
| #default = {{ikona|miotłasw|35|link=Wikibooks:Sprzątanie Wikibooks}}
}}
| tekst = {{#invoke:Dopracować|tekst}}
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
0axc3rcxrh70av2uzuv76fi4is5i8j9
Szablon:Fakt
10
25198
540931
517139
2026-04-27T07:46:14Z
Persino
2851
540931
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci
| strona brudnopisu projektu = Strony brudnopisu projektu
| strona użytkownika = Strony użytkowników
| #default = Strony
}} zawierające brakujące przypisy {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{#if:{{{1|}}}|{{Span|klasa=need_ref|styl=text-decoration: none; border-bottom: 1px dotted grey;|atrybuty=title="Te informacje wymagają podania przypisów bibliograficznych {{#if:{{{data|}}}|od {{{data}}}|}}"|{{{1}}}}}}}{{Sup|atrybuty=title="Te informacje wymagają podania przypisów bibliograficznych {{#if:{{{data|}}}|od {{{data}}}|}}"|[{{lpp|Przypisy|potrzebny przypis}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
omqhgubov2lxc4qkdpplqpz32pjnzjp
Szablon:Status
10
27687
540946
478269
2026-04-27T09:45:31Z
Persino
2851
540946
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
4kvykxyf5b0f0nvbwvbg91g5gkg0baw
Szablon:Ekspresowe kasowanie/opis
10
33227
540942
516390
2026-04-27T09:20:29Z
Persino
2851
/* Zobacz też */
540942
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Spis treści}}
{{wysokie ryzyko|meta}}
{{Skrót szablonu|Ek|Delete|Screenshot}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
Szablon: '''{{s|ek}}''', czyli: '''{{s|Ekspresowe kasowanie}}''', i jego dalsze przekierowania: '''{{s|delete}}''' i '''{{s|screenshot}}''', to jest jeden z najstarszych na polskojęzycznej Wikibooks, wstawia strony do wykazu: [[:Kategoria:Ekspresowe kasowanie]].
== Użycie ==
Szablon należy wstawić na początku strony (bez usuwania jej treści), która według wstawiającego nadaje się do natychmiastowego skasowania.
Posiada jeden parametr pozycyjny nr 1 (faktycznie jest to parametr z nazwą "1") oraz dwa parametry kluczowe (nazwane) – ''powód'' i ''bez kategorii''.
'''Uwaga''': nie nadużywaj tego szablonu. Jeśli skasowanie danego artykułu mogłoby być dyskusyjne, rozważ, czy nie lepiej użyć szablonu {{s|DNU}}.
Szablon korzysta z {{S|Admin usuń}}, który pokazuje „kubełek” umożliwiający szybkie usunięcie strony lub pliku wraz z zdefiniowanym wcześniej opisem usunięcia.
Wygląd i treść szablonu zmienia się w zależności od [[w:Pomoc:Przestrzeń nazw|przestrzeni nazw]], w której został użyty.
== Opis parametrów ==
Przeznaczenie i podawanie wartości parametrów jest opisane poniżej. Warto przypomnieć, że w podawanych wartościach może wystąpić znak równości (symbol „=”), ale wtedy wartość ta '''musi''' być podana dla parametru ''powód'' lub dla parametru ''1'', ale w stylu parametru nazwanego, czyli tak, jak w [[#Przykłady użycia|przykładzie nr 3]].
; Parametr nr 1 (pozycyjny)
Jest on używany do wpisania uzasadnienia dla żądania ekspresowego skasowania strony. Podaje się go po wpisaniu [[w:Kreska pionowa|kreski pionowej]] (symbolu „|”), jak w [[#Przykłady użycia|przykładzie nr 2]]. Prawidłowe jest też jego użycie jak parametru nazwanego – [[#Przykłady użycia|przykład nr 3]].
; Parametr ''powód'' (kluczowy)
Jego przeznaczenie jest identyczne jak parametru pozycyjnego nr 1 – został wprowadzony jako bardziej oczywisty niż parametr nienazwany ''1'', natomiast parametr ''1'' zachowano dla wstecznej zgodności. Podajemy go jak w [[#Przykłady użycia|przykładzie nr 4]]. Ze względu na konstrukcję kodu szablonu można podać w jego wywołaniu wartości dla parametru ''powód'' i ''1'', ale wyświetlona zostanie tylko wartość dla parametru ''1''.
; Parametr ''dokumentacja'' (kluczowy, techniczny)
Parametr ten jest używany tylko w specjalnych przypadkach, gdy szablon występuje na stronach pomocowych w wykazach szablonów, jak np. [[Wikibooks:Szablony/Do usunięcia]] – wtedy jego użycie pozwala uniknąć automatycznego wpisania takiej strony do kategorii stron do ekspresowego usunięcia.
=== Konkretne uzasadnienia ===
Szablon zawiera wbudowane uzasadnienia żądania skasowania, oparte na najczęstszych powodach usunięcia artykułów. Aby z nich skorzystać, należy wpisać w pole <tt>powód</tt> (lub jako parametr 1) któryś z poniższych skrótów:
{{info|'''Wszystkie dostępne skróty:'''<br />
<tt>test, eksperyment, eks, substub, ency, hoax, or, OR, reklama, advert, ad, bezsens, bzdety, bełkot, bzdury, głupoty, wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal, dane osobowe, zniesławienie, libel, administracyjne, techniczne, technikalia, tech, autotranslator, translator, tłumacz, redir, przekierowanie, redirect, wygłupy, wygłup, dowcip, żart, npa, NPA, plagiat, copypaste, kopiuj-wklej, moje, wstawiony, nieaktualne, infoboks, infobox, link, plik, brudnopis.</tt>}}
: ''Jeżeli podano więcej niż dwa parametry, to można ich używać zamiennie''
* <tt>'''test, eksperyment, eks'''</tt> – wstawia link do [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]] i jako powód usunięcia ustawia
{{OpakujKategorieZeSortowaniem|{{ek|test}}}}
* <tt>'''substub'''</tt> – wstawia link do [[w:Wikipedia:Zalążek artykułu#Subzalążki|Wikipedia:Zalążek artykułu#Subzalążki]] i jako powód usunięcia ustawia
{{OpakujKategorieZeSortowaniem|{{ek|substub}}}}
* <tt>'''ency'''</tt> – wstawia link do [[w:Wikipedia:Encyklopedyczność|Wikipedia:Encyklopedyczność]] i jako powód usunięcia ustawia "treść [[w:WP:ENCY|encyklopedyczna]], patrz: [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]]"
{{OpakujKategorieZeSortowaniem|{{ek|ency}}}}
* <tt>'''hoax'''</tt> – wstawia link do [[w:Wikipedia:Weryfikowalność|Wikipedia:Weryfikowalność]] i jako powód usunięcia ustawia "prawdopodobna mistyfikacja, patrz: [[w:WP:Weryfikowalność|weryfikowalność]]"
{{OpakujKategorieZeSortowaniem|{{ek|hoax}}}}
* <tt>'''or, OR'''</tt> – wstawia link do [[w:Wikipedia:Nie przedstawiamy twórczości własnej|Wikipedia:Nie przedstawiamy twórczości własnej]] i jako powód usunięcia ustawia "prawdopodobna twórczość własna, patrz: [[w:WP:Nie przedstawiamy twórczości własnej|nie przedstawiamy twórczości własnej]]"
{{OpakujKategorieZeSortowaniem|{{ek|or}}}}
* <tt>'''reklama, advert, ad'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks]] i jako powód usunięcia ustawia "skrajna forma reklamy, patrz: [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest|czym Wikibooks nie jest]]"
{{OpakujKategorieZeSortowaniem|{{ek|ad}}}}
* <tt>'''bezsens, bzdety, bełkot, bzdury, głupoty'''</tt> – wstawia link do [[w:Wikipedia:Głupie dowcipy i czysty bezsens|Wikipedia:Głupie dowcipy i czysty bezsens]] i jako powód usunięcia ustawia "treść niezrozumiała, patrz: [[w:Wikipedia:Głupie dowcipy i czysty bezsens|czysty bezsens]]"
{{OpakujKategorieZeSortowaniem|{{ek|bełkot}}}}
* <tt>'''wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal'''</tt> – wstawia link do [[Wikibooks:Wikietykieta]] i jako powód usunięcia ustawia "[[WB:Wandalizm|wandalizm]] i/lub ataki osobiste, patrz: [[WB:Wikietykieta|wikietykieta]]"
{{OpakujKategorieZeSortowaniem|{{ek|wulg}}}}
* <tt>'''dane osobowe'''</tt> – jako powód usunięcia ustawia "upublicznienie danych osobowych"
{{OpakujKategorieZeSortowaniem|{{ek|dane osobowe}}}}
* <tt>'''zniesławienie, libel'''</tt> – jako powód usunięcia ustawia "zniesławienie"
{{OpakujKategorieZeSortowaniem|{{ek|libel}}}}
* <tt>'''administracyjne, techniczne, technikalia, tech'''</tt> – jako powód usunięcia ustawia "pozostałości po wykonywaniu operacji administracyjnych"
{{OpakujKategorieZeSortowaniem|{{ek|techniczne}}}}
* <tt>'''autotranslator, translator, tłumacz'''</tt> – jako powód usunięcia ustawia "tekst przetłumaczony z translatora"
{{OpakujKategorieZeSortowaniem|{{ek|tłumacz}}}}
* <tt>'''redir, przekierowanie, redirect'''</tt> – jako powód usunięcia ustawia "błędne lub niepotrzebne przekierowanie"
{{OpakujKategorieZeSortowaniem|{{ek|redir}}}}
* <tt>'''wygłupy, wygłup, dowcip, żart'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest]] i jako powód usunięcia ustawia "wygłupy"
{{OpakujKategorieZeSortowaniem|{{ek|wygłupy}}}}
* <tt>'''npa, NPA, plagiat, copypaste, kopiuj-wklej'''</tt> – wstawia link do [[Wikibooks:Prawa autorskie]] i jako powód usunięcia ustawia "naruszenie praw autorskich, patrz: [[WB:Prawa autorskie|prawa autorskie]]"
{{OpakujKategorieZeSortowaniem|{{ek|npa}}}}
* <tt>'''moje'''</tt> – jako powód usunięcia ustawia "na prośbę autora"
{{OpakujKategorieZeSortowaniem|{{ek|moje}}}}
* <tt>'''wstawiony, nieaktualne'''</tt> – jako powód usunięcia ustawia "strona zawierała nieaktualny komunikat o problemie"
{{OpakujKategorieZeSortowaniem|{{ek|nieaktualne}}}}
* <tt>'''infobox, infoboks'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o braku infoboksu"
* <tt>'''link'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o martwym linku zewnętrznym"
* <tt>'''plik'''</tt> – jako powód usunięcia ustawia "lokalny opis pliku, który znajduje się w Wikimedia Commons"
{{OpakujKategorieZeSortowaniem|{{ek|plik}}}}
* <tt>'''brudnopis'''</tt> – jako powód usunięcia ustawia "niepotrzeby brudnopis"
{{OpakujKategorieZeSortowaniem|{{ek|brudnopis}}}}
== Przykłady użycia ==
'''Przykład nr 1''' – wstawienie tylko szablonu, co nie jest zalecane, gdyż należy wskazywać powód:
: <code><nowiki>{{ek}}</nowiki></code>
'''Przykład nr 2''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nienazwany:
: <code><nowiki>{{ek|Ta strona nie spełnia wymogów podręcznikowości}}</nowiki></code>
'''Przykład nr 3''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nazwany:
: <code><nowiki>{{ek|1=Naruszenie PA według http://pewna.witryna.pl/?a=bzz}}</nowiki></code>
'''Przykład nr 4''' – podanie uzasadnienia w parametrze kluczowym z podaniem autora wstawienia szablonu na daną stronę za pomocą czterech tyld:
: <code><nowiki>{{ek|powód=Ta strona narusza PA – wpisał to ~~~~}}</nowiki></code>
== Użycie szablonu w innych szablonach ==
Ze względów technicznych, w innych szablonach przedmiotowy szablon wstawiamy osadzony pomiędzy znacznikami <tt>noinclude</tt> w postaci:
: <code><nowiki><noinclude>{{ek|powód=uzasadnienie}}</noinclude></nowiki></code>
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"aliases": [
"wyjaśnienie"
],
"label": "wyjaśnienie",
"description": "Wyjaśnienie własnymi słowami dlaczego strona ma być skasowana",
"example": "Ta strona nie spełnia wymogów nieencyklopedyczności.",
"type": "content",
"deprecated": "Zamiast tego pola użyj parametru 'powód'."
},
"powód": {
"aliases": [
"uzasadnienie"
],
"label": "powód",
"description": "Wyjaśnienie dlaczego strona ma zostać usunięta",
"example": "Ta strona narusza PA – wpisał to ~~~~",
"type": "content",
"required": true
},
"bez kategorii": {
"label": "bez kategorii",
"description": "Parametr używany tylko na stronach pomocowych, np.: w wykazach szablonów, jak np. Wikibooks:Szablony/Do usunięcia. Nie umieszcza stronę w kategorii: Ekspresowe kasowanie.",
"type": "content"
}
},
"description": "Szablon ek służy do wysłania prośby do administratorów, aby skasowali daną stronę. Konieczne jest podanie uzasadnienia prośby. Szablon wstawia kategorię [[:Kategoria:Ekspresowe kasowanie]], dzięki temu strony"
}
</templatedata>
== Zobacz też ==
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|Kpp}} i {{s|Kasowanie po przeniesieniu}} - powiadamia autora podręcznika przed jakim czasem może skopiować zawartość przed jego skasowaniem,
* {{s|Ek2}} - 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 (główna) i Wikijunior lub plik w przestrzeni nazw Plik, 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}}
{{BrClear}}
<includeonly>
{{Kategorie
| Szablony porządkowe
| Usuwanie stron - szablony
}}
</includeonly>
2cwsdiyvin8so47fp64sqqzvp3mx0sg
540944
540942
2026-04-27T09:31:21Z
Persino
2851
540944
wikitext
text/x-wiki
540945
540944
2026-04-27T09:32:53Z
Persino
2851
540945
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Spis treści}}
{{wysokie ryzyko|meta}}
{{Skrót szablonu|Ek|Delete|Screenshot}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
Szablon: '''{{s|ek}}''', czyli: '''{{s|Ekspresowe kasowanie}}''', i jego dalsze przekierowania: '''{{s|delete}}''' i '''{{s|screenshot}}''', to jest jeden z najstarszych na polskojęzycznej Wikibooks, wstawia strony do wykazu: [[:Kategoria:Ekspresowe kasowanie]].
== Użycie ==
Szablon należy wstawić na początku strony (bez usuwania jej treści), która według wstawiającego nadaje się do natychmiastowego skasowania.
Posiada jeden parametr pozycyjny nr 1 (faktycznie jest to parametr z nazwą "1") oraz dwa parametry kluczowe (nazwane) – ''powód'' i ''bez kategorii''.
'''Uwaga''': nie nadużywaj tego szablonu. Jeśli skasowanie danego artykułu mogłoby być dyskusyjne, rozważ, czy nie lepiej użyć szablonu {{s|DNU}}.
Szablon korzysta z {{S|Admin usuń}}, który pokazuje „kubełek” umożliwiający szybkie usunięcie strony lub pliku wraz z zdefiniowanym wcześniej opisem usunięcia.
Wygląd i treść szablonu zmienia się w zależności od [[w:Pomoc:Przestrzeń nazw|przestrzeni nazw]], w której został użyty.
== Opis parametrów ==
Przeznaczenie i podawanie wartości parametrów jest opisane poniżej. Warto przypomnieć, że w podawanych wartościach może wystąpić znak równości (symbol „=”), ale wtedy wartość ta '''musi''' być podana dla parametru ''powód'' lub dla parametru ''1'', ale w stylu parametru nazwanego, czyli tak, jak w [[#Przykłady użycia|przykładzie nr 3]].
; Parametr nr 1 (pozycyjny)
Jest on używany do wpisania uzasadnienia dla żądania ekspresowego skasowania strony. Podaje się go po wpisaniu [[w:Kreska pionowa|kreski pionowej]] (symbolu „|”), jak w [[#Przykłady użycia|przykładzie nr 2]]. Prawidłowe jest też jego użycie jak parametru nazwanego – [[#Przykłady użycia|przykład nr 3]].
; Parametr ''powód'' (kluczowy)
Jego przeznaczenie jest identyczne jak parametru pozycyjnego nr 1 – został wprowadzony jako bardziej oczywisty niż parametr nienazwany ''1'', natomiast parametr ''1'' zachowano dla wstecznej zgodności. Podajemy go jak w [[#Przykłady użycia|przykładzie nr 4]]. Ze względu na konstrukcję kodu szablonu można podać w jego wywołaniu wartości dla parametru ''powód'' i ''1'', ale wyświetlona zostanie tylko wartość dla parametru ''1''.
; Parametr ''dokumentacja'' (kluczowy, techniczny)
Parametr ten jest używany tylko w specjalnych przypadkach, gdy szablon występuje na stronach pomocowych w wykazach szablonów, jak np. [[Wikibooks:Szablony/Do usunięcia]] – wtedy jego użycie pozwala uniknąć automatycznego wpisania takiej strony do kategorii stron do ekspresowego usunięcia.
=== Konkretne uzasadnienia ===
Szablon zawiera wbudowane uzasadnienia żądania skasowania, oparte na najczęstszych powodach usunięcia artykułów. Aby z nich skorzystać, należy wpisać w pole <tt>powód</tt> (lub jako parametr 1) któryś z poniższych skrótów:
{{info|'''Wszystkie dostępne skróty:'''<br />
<tt>test, eksperyment, eks, substub, ency, hoax, or, OR, reklama, advert, ad, bezsens, bzdety, bełkot, bzdury, głupoty, wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal, dane osobowe, zniesławienie, libel, administracyjne, techniczne, technikalia, tech, autotranslator, translator, tłumacz, redir, przekierowanie, redirect, wygłupy, wygłup, dowcip, żart, npa, NPA, plagiat, copypaste, kopiuj-wklej, moje, wstawiony, nieaktualne, infoboks, infobox, link, plik, brudnopis.</tt>}}
: ''Jeżeli podano więcej niż dwa parametry, to można ich używać zamiennie''
* <tt>'''test, eksperyment, eks'''</tt> – wstawia link do [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]] i jako powód usunięcia ustawia
{{OpakujKategorieZeSortowaniem|{{ek|test}}}}
* <tt>'''substub'''</tt> – wstawia link do [[w:Wikipedia:Zalążek artykułu#Subzalążki|Wikipedia:Zalążek artykułu#Subzalążki]] i jako powód usunięcia ustawia
{{OpakujKategorieZeSortowaniem|{{ek|substub}}}}
* <tt>'''ency'''</tt> – wstawia link do [[w:Wikipedia:Encyklopedyczność|Wikipedia:Encyklopedyczność]] i jako powód usunięcia ustawia "treść [[w:WP:ENCY|encyklopedyczna]], patrz: [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]]"
{{OpakujKategorieZeSortowaniem|{{ek|ency}}}}
* <tt>'''hoax'''</tt> – wstawia link do [[w:Wikipedia:Weryfikowalność|Wikipedia:Weryfikowalność]] i jako powód usunięcia ustawia "prawdopodobna mistyfikacja, patrz: [[w:WP:Weryfikowalność|weryfikowalność]]"
{{OpakujKategorieZeSortowaniem|{{ek|hoax}}}}
* <tt>'''or, OR'''</tt> – wstawia link do [[w:Wikipedia:Nie przedstawiamy twórczości własnej|Wikipedia:Nie przedstawiamy twórczości własnej]] i jako powód usunięcia ustawia "prawdopodobna twórczość własna, patrz: [[w:WP:Nie przedstawiamy twórczości własnej|nie przedstawiamy twórczości własnej]]"
{{OpakujKategorieZeSortowaniem|{{ek|or}}}}
* <tt>'''reklama, advert, ad'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks]] i jako powód usunięcia ustawia "skrajna forma reklamy, patrz: [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest|czym Wikibooks nie jest]]"
{{OpakujKategorieZeSortowaniem|{{ek|ad}}}}
* <tt>'''bezsens, bzdety, bełkot, bzdury, głupoty'''</tt> – wstawia link do [[w:Wikipedia:Głupie dowcipy i czysty bezsens|Wikipedia:Głupie dowcipy i czysty bezsens]] i jako powód usunięcia ustawia "treść niezrozumiała, patrz: [[w:Wikipedia:Głupie dowcipy i czysty bezsens|czysty bezsens]]"
{{OpakujKategorieZeSortowaniem|{{ek|bełkot}}}}
* <tt>'''wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal'''</tt> – wstawia link do [[Wikibooks:Wikietykieta]] i jako powód usunięcia ustawia "[[WB:Wandalizm|wandalizm]] i/lub ataki osobiste, patrz: [[WB:Wikietykieta|wikietykieta]]"
{{OpakujKategorieZeSortowaniem|{{ek|wulg}}}}
* <tt>'''dane osobowe'''</tt> – jako powód usunięcia ustawia "upublicznienie danych osobowych"
{{OpakujKategorieZeSortowaniem|{{ek|dane osobowe}}}}
* <tt>'''zniesławienie, libel'''</tt> – jako powód usunięcia ustawia "zniesławienie"
{{OpakujKategorieZeSortowaniem|{{ek|libel}}}}
* <tt>'''administracyjne, techniczne, technikalia, tech'''</tt> – jako powód usunięcia ustawia "pozostałości po wykonywaniu operacji administracyjnych"
{{OpakujKategorieZeSortowaniem|{{ek|techniczne}}}}
* <tt>'''autotranslator, translator, tłumacz'''</tt> – jako powód usunięcia ustawia "tekst przetłumaczony z translatora"
{{OpakujKategorieZeSortowaniem|{{ek|tłumacz}}}}
* <tt>'''redir, przekierowanie, redirect'''</tt> – jako powód usunięcia ustawia "błędne lub niepotrzebne przekierowanie"
{{OpakujKategorieZeSortowaniem|{{ek|redir}}}}
* <tt>'''wygłupy, wygłup, dowcip, żart'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest]] i jako powód usunięcia ustawia "wygłupy"
{{OpakujKategorieZeSortowaniem|{{ek|wygłupy}}}}
* <tt>'''npa, NPA, plagiat, copypaste, kopiuj-wklej'''</tt> – wstawia link do [[Wikibooks:Prawa autorskie]] i jako powód usunięcia ustawia "naruszenie praw autorskich, patrz: [[WB:Prawa autorskie|prawa autorskie]]"
{{OpakujKategorieZeSortowaniem|{{ek|npa}}}}
* <tt>'''moje'''</tt> – jako powód usunięcia ustawia "na prośbę autora"
{{OpakujKategorieZeSortowaniem|{{ek|moje}}}}
* <tt>'''wstawiony, nieaktualne'''</tt> – jako powód usunięcia ustawia "strona zawierała nieaktualny komunikat o problemie"
{{OpakujKategorieZeSortowaniem|{{ek|nieaktualne}}}}
* <tt>'''infobox, infoboks'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o braku infoboksu"
* <tt>'''link'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o martwym linku zewnętrznym"
* <tt>'''plik'''</tt> – jako powód usunięcia ustawia "lokalny opis pliku, który znajduje się w Wikimedia Commons"
{{OpakujKategorieZeSortowaniem|{{ek|plik}}}}
* <tt>'''brudnopis'''</tt> – jako powód usunięcia ustawia "niepotrzeby brudnopis"
{{OpakujKategorieZeSortowaniem|{{ek|brudnopis}}}}
== Przykłady użycia ==
'''Przykład nr 1''' – wstawienie tylko szablonu, co nie jest zalecane, gdyż należy wskazywać powód:
: <code><nowiki>{{ek}}</nowiki></code>
'''Przykład nr 2''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nienazwany:
: <code><nowiki>{{ek|Ta strona nie spełnia wymogów podręcznikowości}}</nowiki></code>
'''Przykład nr 3''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nazwany:
: <code><nowiki>{{ek|1=Naruszenie PA według http://pewna.witryna.pl/?a=bzz}}</nowiki></code>
'''Przykład nr 4''' – podanie uzasadnienia w parametrze kluczowym z podaniem autora wstawienia szablonu na daną stronę za pomocą czterech tyld:
: <code><nowiki>{{ek|powód=Ta strona narusza PA – wpisał to ~~~~}}</nowiki></code>
== Użycie szablonu w innych szablonach ==
Ze względów technicznych, w innych szablonach przedmiotowy szablon wstawiamy osadzony pomiędzy znacznikami <tt>noinclude</tt> w postaci:
: <code><nowiki><noinclude>{{ek|powód=uzasadnienie}}</noinclude></nowiki></code>
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"aliases": [
"wyjaśnienie"
],
"label": "wyjaśnienie",
"description": "Wyjaśnienie własnymi słowami dlaczego strona ma być skasowana",
"example": "Ta strona nie spełnia wymogów nieencyklopedyczności.",
"type": "content",
"deprecated": "Zamiast tego pola użyj parametru 'powód'."
},
"powód": {
"aliases": [
"uzasadnienie"
],
"label": "powód",
"description": "Wyjaśnienie dlaczego strona ma zostać usunięta",
"example": "Ta strona narusza PA – wpisał to ~~~~",
"type": "content",
"required": true
},
"bez kategorii": {
"label": "bez kategorii",
"description": "Parametr używany tylko na stronach pomocowych, np.: w wykazach szablonów, jak np. Wikibooks:Szablony/Do usunięcia. Nie umieszcza stronę w kategorii: Ekspresowe kasowanie.",
"type": "content"
}
},
"description": "Szablon ek służy do wysłania prośby do administratorów, aby skasowali daną stronę. Konieczne jest podanie uzasadnienia prośby. Szablon wstawia kategorię [[:Kategoria:Ekspresowe kasowanie]], dzięki temu strony"
}
</templatedata>
== Zobacz też ==
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|Kpp}} i {{s|Kasowanie po przeniesieniu}} - powiadamia autora podręcznika przed jakim czasem może skopiować zawartość przed jego skasowaniem,
* {{s|Ek2}} - 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 (główna) i Wikijunior lub plik w przestrzeni nazw Plik, 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}}
{{BrClear}}
<includeonly>
{{Kategorie
| Szablony porządkowe
| Usuwanie stron - szablony
}}
</includeonly>
2cwsdiyvin8so47fp64sqqzvp3mx0sg
Szablon:Brak strony
10
33812
540930
517138
2026-04-27T07:45:17Z
Persino
2851
540930
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci,
| strona brudnopisu projektu = Strony brudnopisu projektu,
| strona użytkownika = Strony użytkowników,
| #default = Strony
}} z zepsutymi przypisami – brak numeru strony}}
}}{{#if:{{{1|}}}|{{Span|klasa=need_ref|styl=border-bottom:1px dotted grey|atrybuty=title="Podany obok przypis nie zawiera numeru strony lub zakresu stron na których można znaleźć te informacje {{#if:{{{data|}}}|od {{{data}}}|}}|{{{1}}}}}}}{{Sup|atrybuty=title="Podany obok przypis nie zawiera numeru strony lub zakresu stron na których można znaleźć te informacje {{#if:{{{data|}}}|od {{{data}}}|}}"|[{{lpr|Weryfikowalność|potrzebny numer strony}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
r4ktxk0eu2e9nixe2lmwd2rr2mt8zw3
Szablon:Niewiarygodne źródło
10
33814
540932
517137
2026-04-27T07:47:08Z
Persino
2851
540932
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci,
| strona brudnopisu projektu = Strony brudnopisu projektu,
| strona użytkownika = Strony użytkowników,
| #default = Strony
}} z nierzetelnymi źródłami {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{Sup|atrybuty=title="Te informacje wymagają podania wiarygodnych źródeł {{#if:{{{data|}}}|od {{{data}}}|}}"|[{{lpr|Weryfikowalność|niewiarygodne źródło?}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
cclw0qh5c82gv4o9x3mm3s2r1943v8e
Szablon:Nie w źródle
10
33817
540933
517141
2026-04-27T07:48:04Z
Persino
2851
540933
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci,
| strona brudnopisu projektu = Strony brudnopisu projektu,
| strona użytkownika = Strony użytkowników,
| #default = Strony
}} z przypisami niepotwierdzającymi podanych informacji {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{#if:{{{1|}}}|{{Span|klasa=need_ref|styl=border-bottom:1px dotted grey|atrybuty=title="Ta opinia wymaga poprawienia źródeł {{#if:{{{data|}}}|od {{{data}}}|}}"|{{{1}}}}}}}{{Sup|atrybuty=title="Ta opinia wymaga poprawienia źródeł {{#if:{{{data|}}}|od {{{data}}}|}}"|klasa=noprint|[{{lpr|Weryfikowalność|brak potwierdzenia w źródle}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
ek40xmexxonsmwglept1ac9qjl0et10
Szablon:Martwy link
10
33819
540934
517142
2026-04-27T07:49:19Z
Persino
2851
540934
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci,
| strona brudnopisu projektu = Strony brudnopisu projektu,
| strona brudnopisu szablonu = Strony brudnopisu szablonów,
| strona brudnopisu modułu = Strony brudnopisu modułów,
| strona użytkownika = Strony użytkowników,
| strona kategorii = Strony kategorii,
| strona szablonu = Strony szablonów,
| strona modułu = Strony modułów,
| strona projektu = Strony projektu,
| strona pomocy = Strony pomocy,
| #default = Strony
}} z niezweryfikowanymi martwymi linkami}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok wymagają podania źródeł {{#if:{{{data|}}}|od {{{data}}}|}}"|klasa=noprint|[{{lpr|Weryfikacja martwych linków|martwy link}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
f7xavdks3bhykt7d5poexyc035ggkyh
Szablon:Wątpliwe
10
33823
540935
517145
2026-04-27T07:50:43Z
Persino
2851
540935
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci
| strona brudnopisu projektu = Strony brudnopisu projektu
| strona brudnopisu szablonu = Strony brudnopisu szablonów
| strona brudnopisu modułu = Strony brudnopisu modułów
| strona użytkownika = Strony użytkowników
| strona kategorii = Strony kategorii
| strona szablonu = Strony szablonów
| strona modułu = Strony modułów
| strona projektu = Strony projektu
| strona pomocy = Strony pomocy
| #default = Strony
}} wymagające weryfikacji}}
}}{{Sup|atrybuty=title="Te informacje wymagają weryfikacji {{#if:{{{data|}}}|od {{{data}}}|}}"|[{{lpr|Weryfikowalność|wymaga weryfikacji?}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
5rffeha38w5qwucconh1fwfx9jbrs7i
Szablon:Czy to ważne
10
33825
540927
517147
2026-04-27T07:43:19Z
Persino
2851
540927
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci
| strona brudnopisu projektu = Strony brudnopisu projektu
| strona brudnopisu szablonu = Strony brudnopisu szablonów
| strona brudnopisu modułu = Strony brudnopisu modułów
| strona użytkownika = Strony użytkowników
| strona kategorii = Strony kategorii
| strona szablonu = Strony szablonów
| strona modułu = Strony modułów
| strona projektu = Strony projektu
| strona pomocy = Strony pomocy
| #default = Strony
}} potrzebujące uzupełnienia informacji {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok wymagają doprecyzowania {{#if:{{{data|}}}|od {{{data}}}|}}"|klasa=noprint|[{{lpr|Czym Wikipedia nie jest#Wikipedia nie jest bezwładnym zbiorem informacji|czy to ważne?}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
5usayv6nes6vt1jb3pmwh03xy5oa0lf
Szablon:Doprecyzuj
10
33827
540926
517148
2026-04-27T07:41:59Z
Persino
2851
540926
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł = Artykuły
|artykuł dla dzieci = Artykuły dla dzieci
|strona brudnopisu projektu = Strony brudnopisu projektu
|strona brudnopisu szablonu = Strony brudnopisu szablonów
|strona brudnopisu modułu = Strony brudnopisu modułów
|strona użytkownika = Strony użytkowników
|strona kategorii = Strony kategorii
|strona szablonu = Strony szablonów
|strona modułu = Strony modułów
|strona projektu = Strony projektu
|strona pomocy = Strony pomocy
|#default = Strony
}} zawierające wyrażenia zwodnicze {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok wymagają doprecyzowania {{#if:{{{data|}}}|od {{{data}}}|}}"|klasa=noprint|[{{lpr|Unikaj wyrażeń zwodniczych|{{{1|doprecyzuj!}}}}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
6jb68bln9vcg384nniz6ozfq4uzdtll
540928
540926
2026-04-27T07:43:43Z
Persino
2851
540928
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci
| strona brudnopisu projektu = Strony brudnopisu projektu
| strona brudnopisu szablonu = Strony brudnopisu szablonów
| strona brudnopisu modułu = Strony brudnopisu modułów
| strona użytkownika = Strony użytkowników
| strona kategorii = Strony kategorii
| strona szablonu = Strony szablonów
| strona modułu = Strony modułów
| strona projektu = Strony projektu
| strona pomocy = Strony pomocy
| #default = Strony
}} zawierające wyrażenia zwodnicze {{#if:{{{data|}}}|od {{{data}}} }}}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok wymagają doprecyzowania {{#if:{{{data|}}}|od {{{data}}}|}}"|klasa=noprint|[{{lpr|Unikaj wyrażeń zwodniczych|{{{1|doprecyzuj!}}}}}]}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
fzzvb9wunpp5zuqq17qr9lo9snab6iw
Szablon:Or
10
33847
540925
517158
2026-04-27T07:40:37Z
Persino
2851
540925
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł = Artykuły
|artykuł dla dzieci = Artykuły dla dzieci,
|strona brudnopisu projektu = Strony brudnopisu projektu,
|strona brudnopisu szablonu = Strony brudnopisu szablonów,
|strona brudnopisu modułu = Strony brudnopisu modułów,
|strona użytkownika = Strony użytkowników,
|strona kategorii = Strony kategorii,
|strona szablonu = Strony szablonów,
|strona modułu = Strony modułów,
|strona projektu = Strony projektu,
|strona pomocy = Strony pomocy,
|#default = Strony
}} z zawartymi własnymi teoriami}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok mogą być oparte na nieweryfikowalnej twórczości własnej"|klasa=noprint|[{{lpr|Nie przedstawiamy twórczości własnej|twórczość własna?}}]}}</includeonly><noinclude>{{Dokumentacja}}
<!-- Kategorie i interwiki dodawaj do podstrony /opis, nie tutaj! -->
</noinclude>
q9hkbbu9ch2gmmdymls5vks5finrioa
540929
540925
2026-04-27T07:44:09Z
Persino
2851
540929
wikitext
text/x-wiki
<includeonly>{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci,
| strona brudnopisu projektu = Strony brudnopisu projektu,
| strona brudnopisu szablonu = Strony brudnopisu szablonów,
| strona brudnopisu modułu = Strony brudnopisu modułów,
| strona użytkownika = Strony użytkowników,
| strona kategorii = Strony kategorii,
| strona szablonu = Strony szablonów,
| strona modułu = Strony modułów,
| strona projektu = Strony projektu,
| strona pomocy = Strony pomocy,
| #default = Strony
}} z zawartymi własnymi teoriami}}
}}{{Sup|atrybuty=title="Informacje umieszczone obok mogą być oparte na nieweryfikowalnej twórczości własnej"|klasa=noprint|[{{lpr|Nie przedstawiamy twórczości własnej|twórczość własna?}}]}}</includeonly><noinclude>{{Dokumentacja}}
<!-- Kategorie i interwiki dodawaj do podstrony /opis, nie tutaj! -->
</noinclude>
m07vgb16y2tvwqyehr6zw1vsxfa1bas
Szablon:Aktualizuj po
10
33849
540924
475860
2026-04-27T07:39:33Z
Persino
2851
540924
wikitext
text/x-wiki
<includeonly>{{#ifexpr: {{Aktualizuj po/licz| {{CURRENTYEAR}} | {{CURRENTMONTH}} | {{CURRENTDAY}} }} > {{Aktualizuj po/licz| {{{1|{{CURRENTYEAR}}-1}}} | {{{2|{{CURRENTMONTH}}}}} | {{{3|{{CURRENTDAY}}}}} + {{{opóźnienie|0}}} }} |{{Span|klasa=need_ref|styl=border-bottom:1px dotted grey|atrybuty=title="Oznaczone informacje mogą wymagać aktualizacji {{#if:{{{1|}}}|od {{{1}}}{{#if:{{{2|}}}|-{{{2}}}{{#if:{{{3|}}}|-{{{3}}}}}}}}}"|{{{tekst|}}}}}{{{info|{{Sup|atrybuty=title="Oznaczone informacje mogą wymagać aktualizacji {{#if:{{{1|}}}|od {{{1}}}{{#if:{{{2|}}}|-{{{2}}}{{#if:{{{3|}}}|-{{{3}}}}}}}}}"|klasa=noprint|[potrzebna aktualizacja?]}}}}}{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
| artykuł = Artykuły
| artykuł dla dzieci = Artykuły dla dzieci
| strona brudnopisu projektu = Strony brudnopisu projektu
| strona użytkownika = Strony użytkowników
| #default = Strony
}} wymagające aktualizacji {{#if:{{{1|}}}|od {{{1}}}|}}}}
}}|{{{tekst|}}}{{#if:{{{bez kategorii|}}}||
{{Kategoria|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł = Artykuły
|artykuł dla dzieci = Artykuły dla dzieci
|strona brudnopisu projektu = Strony brudnopisu projektu
|strona użytkownika = Strony użytkowników
|#default = Strony
}} wymagające aktualizacji w przyszłości}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
j5ntnc2n9rz1jl6gfhiqj3v1llwbg78
Moduł:Pudełko
828
42178
540836
540557
2026-04-26T14:52:12Z
Persino
2851
540836
Scribunto
text/plain
local p={};
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
end;
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
end;
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
end;
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
end;
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
end;
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
end;
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
end;
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numeru_jednostki,nil,1);
end;
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numeru_jednostki,nil,1);
end;
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numeru_jednostki,nil,1);
end;
p["Nazwa jednostki"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
end;
p["Nazwa jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
end;
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
end;
p["Nazwa dyskusji jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
end;
p["Nazwa jednostki 3"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
end;
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
end;
p["Nazwa dyskusji jednostki 3"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
end;
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
end;
p["Typ jednostki"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame,0,i,0);
end;
p["Przedmiotowy typ jednostki"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame, 1,i,0);
end;
p["Dyskusyjny typ jednostki"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame,2,i,0);
end;
p["Typ jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame,0,i,1);
end;
p["Przedmiotowy typ jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame, 1,i,1);
end;
p["Dyskusyjny typ jednostki 2"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame, 2,i,1);
end;
p["Typ jednostki 3"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame,0,i,nil);
end;
p["Przedmiotowy typ jednostki 3"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame, 1,i,nil);
end;
p["Dyskusyjny typ jednostki 3"]=function(frame,i)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Typ_jednostki(frame, 2,i,nil);
end;
p["Błędy pudełka"]=function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Problemy_kontenerowe_szablonowe(frame,0);
end;
p["Przedmiotowe błędy pudełka"]=function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Problemy_kontenerowe_szablonowe(frame,1);
end;
p["Dyskusyjne błędy pudełka"]=function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Problemy_kontenerowe_szablonowe(frame,2);
end;
p["Cecha pudełka"] = function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Cecha_kontenerowa_szablonowa(frame,"Błędy pudełka");
end;
p["Przedmiotowa cecha pudełka"] = function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Cecha_kontenerowa_szablonowa(frame,"Przedmiotowe błędy pudełka");
end;
p["Dyskusyjna cecha pudełka"] = function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Cecha_kontenerowa_szablonowa(frame,"Dyskusyjne błędy pudełka");
end;
p["Ogólne pudełko"]= function(frame)
local pudelko_potrzebne_modul=require("Module:Pudełko/Potrzebne");
return pudelko_potrzebne_modul.Generalny_kontener_szablonowy(frame);
end;
p["Tekst pudełka"] = function (frame)
return frame.args["tekst"];
end;
p["Nazwa strony głównej projektu"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local i=(numer_jednostki)and tonumber(numer_jednostki) or 0;
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local kod_jezyka,kod_projektu=pudelko_pomocne_modul.Wikikody_kontenera(frame,i);
return pudelko_pomocne_modul.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
or pudelko_pomocne_modul.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
end;
p["Nazwa strony głównej dla dzieci projektu"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local i=(numer_jednostki)and tonumber(numer_jednostki) or 0;
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local kod_jezyka,kod_projektu=pudelko_pomocne_modul.Wikikody_kontenera(frame,i);
return pudelko_pomocne_modul.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
or pudelko_pomocne_modul.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
end;
p["Kod języka"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local i=(numer_jednostki)and tonumber(numer_jednostki) or 0;
local pudelko_modul=require("Module:Pudełko");
local wartosc_domyslna=pudelko_modul["Kod języka tego projektu"]();
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Kod_jezyka(frame,i,wartosc_domyslna);
end;
p["Kod projektu"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local i=(numer_jednostki)and tonumber(numer_jednostki) or 0;
local pudelko_modul=require("Module:Pudełko");
local wartosc_domyslna=pudelko_modul["Kod projektu tego projektu"]();
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Kod_projektu(frame,i,wartosc_domyslna);
end;
p["Klucz projektu"]=function(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local i=(numer_jednostki)and tonumber(numer_jednostki) or 0;
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Klucz_projektu(frame,i);
end;
p["Inny niż język bieżący wiki"]=function(frame)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Analiza_interwiki_czy_projekt_aktualny(frame,true,false);
end;
p["Inne niż lokalne wiki"]=function(frame)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Analiza_interwiki_czy_projekt_aktualny(frame,false,true);
end;
p["Inne niż bieżące wiki"]=function(frame)
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Analiza_interwiki_czy_projekt_aktualny(frame,true,true);
end;
p["Podano parametry nienazwane"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
for i,_ in pairs(args)do
if(type(i)=="number")then return "tak";end;
end;
return;
end;
p["Podano parametry numerowane"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
for i,_ in ipairs(args)do
return "tak";
end;
return;
end;
p["Podano parametry nazwane"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
for name,_ in pairs(args)do
if(type(name)=="string")then
return "tak";
end;
end;
return;
end;
p["Kod projektu tego projektu"]=function(frame)
return "b";
end;
p["Kod języka tego projektu"]=function(frame)
return "pl"
end;
p["Klucz projektu tego projektu"]=function(frame)
local pudelko_modul=require("Module:Pudełko");
return pudelko_modul["Kod języka tego projektu"](frame)..":"..pudelko_modul["Kod projektu tego projektu"](frame);
end;
p["Strona główna tego projektu"] = function(frame)
local komunikat = mw.message.new('Mainpage', '');
if(not komunikat:exists())then return "Wikibooks:Strona główna";end;
local zawartosc_komunikatu=komunikat:plain();
zawartosc_komunikatu=mw.getCurrentFrame():preprocess(zawartosc_komunikatu);
return zawartosc_komunikatu;
end;
p["Strona główna dla dzieci tego projektu"] = function(frame)
return "Wikijunior:Strona główna";
end;
p["Nazwa strony głównej dla dzieci projektu 2"] = function(frame)
local args=frame and (frame.args or frame) or {};
local kod_jezyka=args[1];
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
end;
p["Nazwa strony głównej projektu 2"] = function(frame)
local args=frame and (frame.args or frame) or {};
local kod_jezyka=args[1];
local kod_projektu=args[2];
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
end;
return p;
1mwbhl6001awo1t3fcn24bb0f7up629
Szablon:Szablonowy opis pudełka
10
42292
540951
516433
2026-04-27T10:47:03Z
Persino
2851
540951
wikitext
text/x-wiki
<includeonly>{{#if:{{{opis parametrów szablonu|}}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Parametry dodatkowe tego szablonu.</div>|spis=
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|klucz projektu}} i {{Code|klucz projektu N}}, {{Code|kod języka}} i {{Code|kod języka N}}, {{Code|kod projektu}} i {{Code|kod projektu N}} - kolejno: klucz projektu, kod języka i kod projektu, dla zmiennej jeden i {{Code|N}},}}}}
* {{Code|nazwa przestrzeni nazw}} - przestrzeń nazw, w której znajduje się jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw, w której siedzi ten szablon),{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|nazwa przestrzeni nazw N}} - przestrzeń nazw N-tego parametru nazwy jednostki, w której znajduje się N-ta jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw {{Code|nazwa przestrzeni nazw}}, a jeżeli nie użyto tej zmiennej, to w której siedzi ten szablon),}}
* {{Code|nazwa jednostki}} - jest to nazwa strony, bez przestrzeni nazw, występującej na polskim serwisie {{NAZWASERWISU}}, (opcjonalny, domyślnie jego wartość jest nazwą aktualnej jednostki, w której siedzi ten szablon),
* {{Code|typ jednostki}} {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|i {{Code|typ jednostki N}}}} - używana do nazywania jednostek w dowolnej przestrzeni nazw, gdy jednostkę umieszczono w jakieś z tych przestrzeni nazw, lub przypisano ją do jakieś z tych przestrzeni ustawionej za pomocą zmiennej: {{Code|nazwa przestrzeni nazw}}, oto wartości tej zmiennej:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
** {{Code|artykuł}} - jednostka nazywana artykułem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik}} - jednostka nazywana podręcznikiem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
** {{Code|artykuł dla dzieci}} - jednostka nazywana artykułem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik dla dzieci}} - jednostka nazywana podręcznikiem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane indywidua użytkownika jako normalne strony}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}||
** {{Code|strona główna użytkownika}} - strona główna użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}{{#if:{{#invoke:Parametry|Not|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki użytkownika}}|
** {{Code|artykuł użytkownika}} - artykuł w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},
** {{Code|podręcznik użytkownika}} - podręcznik w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|
** {{Code|jednostka użytkownika}} - jednostka w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=File}}|
** {{Code|strona pliku}} - strona pliku, jest to przestrzeń nazw {{Np|File|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Category}}|
** {{Code|strona kategorii}} - strona kategorii, jest to przestrzeń nazw {{Np|Category|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}||
** {{Code|strona szablonu}} - strona szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu szablonu}} - strona opisu szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}||
** {{Code|strona modułu}} - strona modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu modułu}} - strona opisu modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
** {{Code|strona projektu}} - strona projektu, jest to przestrzeń nazw {{Np|Wikibooks|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Help}}|
** {{Code|strona pomocy}} - strona pomocy, jest to przestrzeń nazw {{Np|Help|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Special}}|
** {{Code|strona specjalna}} - strona specjalna, jest to przestrzeń nazw {{Np|Special|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=MediaWiki}}|
** {{Code|strona komunikatu}} - w przypadku strony komunikatu, jest to przestrzeń nazw {{Np|MediaWiki|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Gadget}}|
** {{Code|strona gadżetu}} - strona gadżetu, jest to przestrzeń nazw {{Np|Gadget|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
** {{Code|strona główna dla dzieci}} - strona główna {{lj2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna dla dzieci}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
** {{Code|strona główna projektu}} - strona główna {{lr2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna projektu}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}|
** {{Code|strona brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki brudnopisu projektu}}|
** {{Code|artykuł brudnopisu projektu}} - jednostka znana artykułem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
** {{Code|podręcznik brudnopisu projektu}} - jednostka znana podręcznikiem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|
** {{Code|jednostka brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}||
** {{Code|strona brudnopisu szablonu}} - szablon w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}||
** {{Code|strona brudnopisu opisu szablonu}} - opis szablonu w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}
}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}||
** {{Code|strona brudnopisu modułu}} - moduł w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}||
** {{Code|strona brudnopisu opisu modułu}} - opis modułu w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}}}
:(opcjonalny, szablon domyślnie sam ustawia do jakiego typu jednostki, należy jednostka, powyżej wymienionego),
* {{Code|nazwij jednostką}} - wartość niepusta, wtedy szablon jednostkę nazywa po prostu {{Code|jednostką}}, w przeciwnym wypadku szablon nazywa zbiory w zależności do jakiej przestrzeni nazw ona zależy i od rodzaju strony,{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
* {{Code|strona główna dla dzieci}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lj2|Strona główna}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
* {{Code|strona główna projektu}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lr2|Strona główna}}),}}
* {{Code|bez kategorii}} - wartość niepusta, tzn. wtedy szablon nie umieszcza strony w żadnej kategorii, w przeciwnym przypadku umieszcza (opcjonalny).
{{Hr}}
* Zmienn{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|e|a}}: {{Code|typ jednostki}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}| i {{Code|typ jednostki N}}}}, nie {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|są używane|jest używana}} do wyświetlania rodzaju jednostki, gdy zmienna: {{Code|nazwij jednostką}}, jest niepusta, wtedy ona jest nazywana {{Code|jednostką}}.{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* Numer {{Code|N}}, to {{Code|1}},{{Code|2}},{{Code|3}} do {{Code|n}} parametrów szablonu nazywane liczbami naturalnymi.}}
}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Kategorie błędów tego szablonu.</div>|spis=<div style="padding-left:5px;padding-right:5px;">
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or
| 1 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}
| 2 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}
| 3 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}
}}
|{{#switch:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|1|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|1|0}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}|1|0}}}}
|1=Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
;Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} i {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|10=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego {{NAZWASERWISU|link=tak|po=a}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka polskiego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|01=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}en:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, lokalnego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}en:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalnego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu dla kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|11=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalny projekt.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}
Gdy szablon podano ze zmienną {{Code|klucz projektu}} albo {{Code|kod języka}} lub {{Code|kod projektu}}, które mogą posiadać wartości nieprawidłowe.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale nieprawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}ek:r{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - gdy podano w parametrze {{Code|klucz projektu}} nieprawidłową wartość.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}ek:r{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale nieprawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ek{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} o wartości nieprawidłowej.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład trzeci ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}bt{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} posiadającą wartość nieprawidłową.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}bt{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład czwarty ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ee{{!}}kod projektu{{((}}{{=}}{{))}}ww{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano: {{Code|kod języka}} i {{Code|kod projektu}}, mający nieprawidłowe wartości.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}kod projektu{{=}}rw{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}}}
* Gdy nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest nieprawidłowa, a więc działania tego szablonu są równoważne, jeśli napiszemy je ogólnie według przykładu:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}MojaPrzestrzeń{{))}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa przestrzeni nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{moja przestrzeń|MojaPrzestrzeń}}}{{))}} }} }}
{{Hr}}
* Gdy szablon został wstawiony na stronę w przestrzeni innej, niż obsługiwane przestrzenie nazw, lub ustawiono wartość parametru: {{Code|nazwa przestrzeni nazw}}, na inną wartość, niż te, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - wstawiono szablon do nieobsługiwanej przestrzeni nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}} - gdy ustawiono nazwę przestrzeni nazw na wartość inną, niż obsługiwaną przestrzeń nazw, tutaj ustawiono na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}|link=tak}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana przestrzeń nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości pustej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono na obsługiwaną przestrzeń nazw, tutaj na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości nieprawidłowej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}} - gdy szablon użyto z parametrem nazwy jednostki zawierającą w sobie wyrażenie między innymi typu: <nowiki>{{{1}}}</nowiki>.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}}}}
{{Hr}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
* Gdy szablon wsadzono do przestrzeni nazw (główna) lub nadano zmiennej: {{Code|nazwa przestrzeni nazw}}, wartość pustą, z nazwą jednostki w zmiennej: {{Code|nazwa jednostki}}, zawierającą w sobie przestrzeń, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|(main)}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw.
** Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nazwa jednostki zawierająca w sobie przestrzeń}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}(main){{!}}nazwa jednostki{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}}}}
{{Hr}}
}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o niewłaściwej wartości oraz jego umieszczono na stronie w dowolnej obsługiwanej przestrzeni nazw, lub nadano wartość zmiennej: {{Code|nazwa przestrzeni nazw}}, o nazwie, któreś z tych przestrzeni, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nieprawidłowy typ jednostki,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy wstawiono szablon na stronę do przestrzeni nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i ustawiono nieprawidłowy typ jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}jakaś{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodna wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw i nazwą jednostki z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona główna podręcznika{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nazwę jednostki niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodne parametry pudełkowe}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona główna podręcznika{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|tak}}|tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw z listą zmiennych nienazwanych zmieniająca się nie o jeden, ten problem możemy zapisać przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{((}}{{=}}{{))}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{((}}{{=}}{{))}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{((}}{{=}}{{))}}argument 6}}|{{!}}2{{((}}{{=}}{{))}}argument 2{{!}}4{{((}}{{=}}{{))}}argument 4{{!}}6{{((}}{{=}}{{))}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{((}}!{{))}}klucz projektu{{((}}{{=}}{{))}}en:w}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono z parametrami nienazwanymi zmieniające się między sobą nie o jeden.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=brak parametrów}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{=}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{=}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{=}}argument 6}}|{{!}}2{{=}}argument 2{{!}}4{{=}}argument 4{{!}}6{{=}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{!}}klucz projektu{{=}}en:w}}}}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona modułu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z pustą nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono zmienną nazwy jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} na stronę o nazwie {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej projektu}}}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, zawierającą w sobie prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono na stronę {{Code|Strona}} i ustawiono nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono w szablonie nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę wskazywaną przez zmienną: {{Code|strona główna projektu}} (używana, gdy chcemy określić samemu nazwę strony głównej projektu), a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony na {{Code|Strona}} o podanej w zmiennej nazwy jednostki o takiej samej wartości bez przestrzeni nazw, jak wartość w zmiennej strony głównej projektu, i nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} i ustawiono w szablonie nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną projektu o nazwie {{lr2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}||
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Wikibooks|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Wikibooks|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Wikibooks|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, jest pusta, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennych wskazujących, jedna na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}}, a druga na nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i szablon wstawiono na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} i ustawiono nazwę jednostki w szablonie na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon przydziela stronę do kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej dla dzieci}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej dla dzieci}}}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, zawiera prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i nazwę strony na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z ustawioną zmienną nazwy jednostki na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono zmienną wskazującej na nazwę przestrzeni nazw o wartości {{Code|Wikijunior}} i wstawiono go na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę główną dla dzieci lub ustawiono wartość zmiennej: {{Code|nazwa przestrzeni nazw}} na wartość {{Code|{{Np|Wikijunior|link=tak}}}}, oraz ewentualnie nadano zmiennej: {{Code|nazwa jednostki}}, określającą nazwę tej jednostki (jeśli ta zmienna jest niepodana, to wtedy jest tożsama z nazwą tej strony) i argument: {{Code|strona główna dla dzieci}} (używana, gdy chcemy określić samemu nazwę strony głównej dla dzieci) na nazwę tej jednostki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony podanej w zmiennej nazwy jednostki o takiej samej wartości, jak wartość zmiennej bez przestrzeni nazw strony głównej dla dzieci, i nazwę przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę jednostki na {{Code|Strona}} i go wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną dla dzieci o nazwie {{lj2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}|
{{Hr}}
* Gdy szablon wstawiono do przestrzeni nazw na stronę główną użytkownika lub nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest {{Np|User|link=tak}} albo wstawiono go do przestrzeni Wikipedysta, i ewentualnie podano: {{Code|nazwa jednostki}}, równą nazwie użytkownika lub nazwie strony niezawierająca prawych ukośników, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy w szablonie ustawiono na przestrzeń nazw {{Np|User|link=tak}} i nazwę strony, tutaj strony głównej użytkownika, nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy szablon wstawiono na stronę, o ustawionej nazwie, do przestrzeni nazw {{Np|User|link=tak}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną użytkownika (Wikipedysty).
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna użytkownika}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}User{{!}}nazwa jednostki{{=}}Użytkownik{{))}}}}}}
}}}}{{#invoke:Ramka|PowtarzajOdDo
|start = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najniższy numer dodatkowego warunku=tak}}
|koniec = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najwyższy numer dodatkowego warunku=tak}}
|1 = {{((}}#if:{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}parametry pudełka{{=}}tak{{((}}!{{))}}istnieje taki parametr dodatkowego warunku{{((}}={{))}}tak{{!}}numer parametru dodatkowego{{((}}={{))}}{{((}}_{{))}}{{!}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{!}}{{Hr}}Dodatkowe błędy zwrócone przez szablon zaznaczony wprowadzone pośrednio w obsługę szablonu {{s|{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}}}, nie za pomoca pudełek zaimplemetowane w module {{ld2|Pudełko}}. Wywołanie błędu numer {{((}}_{{))}}, w którym w tym szablonie jest uruchamiany za pomocą dodatkowych parametrów, tym razem o tym numerze:
* {{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}s{{((}}!{{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}Zastąp{{!}}ciąg{{=}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{!}}wzór{{=}}{{=}}{{!}}zamień{{=}}{{((}}(({{))}}={{((}})){{))}}{{))}}{{((}})){{))}}{{))}} - szablon ten o tych parametrach lub bez parametru {{Code|nazwa przestrzeni nazw}}, ale wstawiony do tej przestrzeni nazw o wartości obsługiwanej reprezentowanej przez ten szablon.
* Szablon włącza stronę do kategorii: {{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}kategorie parametrów dodatkowych{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{((}}OpakujKategorieZeSortowaniem{{!}}{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{))}}{{))}}
}}</div>}}}}<!--
-->{{#ifeq:{{Ns:Template}}:{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}
|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=/{{{strona|opis}}}$}}
| <!-- wartość pusta -->
|{{Kategoria|Szablony z szablonowym opisem pudełka}}
}}
}}</includeonly><!--
--><noinclude>{{#ifeq:{{Ns:Template}}:Szablonowy opis pudełka|{{FULLPAGENAME}}|{{Kategoria|Szablony z szablonowym opisem pudełka|sortuj spacją=tak}}}}</noinclude><!--
--><noinclude>{{Dokumentacja}}</noinclude>
8ovywchksrh2iafnlszzgo6mi1lgwce
540953
540951
2026-04-27T11:21:37Z
Persino
2851
Anulowano wersję [[Special:Diff/540951|540951]] autorstwa [[Special:Contributions/Persino|Persino]] ([[User talk:Persino|dyskusja]])
540953
wikitext
text/x-wiki
<includeonly>{{#if:{{{opis parametrów szablonu|}}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Parametry dodatkowe tego szablonu.</div>|spis=
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|klucz projektu}} i {{Code|klucz projektu N}}, {{Code|kod języka}} i {{Code|kod języka N}}, {{Code|kod projektu}} i {{Code|kod projektu N}} - kolejno: klucz projektu, kod języka i kod projektu, dla zmiennej jeden i {{Code|N}},}}}}
* {{Code|nazwa przestrzeni nazw}} - przestrzeń nazw, w której znajduje się jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw, w której siedzi ten szablon),{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|nazwa przestrzeni nazw N}} - przestrzeń nazw N-tego parametru nazwy jednostki, w której znajduje się N-ta jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw {{Code|nazwa przestrzeni nazw}}, a jeżeli nie użyto tej zmiennej, to w której siedzi ten szablon),}}
* {{Code|nazwa jednostki}} - jest to nazwa strony, bez przestrzeni nazw, występującej na polskim serwisie {{NAZWASERWISU}}, (opcjonalny, domyślnie jego wartość jest nazwą aktualnej jednostki, w której siedzi ten szablon),
* {{Code|typ jednostki}} {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|i {{Code|typ jednostki N}}}} - używana do nazywania jednostek w dowolnej przestrzeni nazw, gdy jednostkę umieszczono w jakieś z tych przestrzeni nazw, lub przypisano ją do jakieś z tych przestrzeni ustawionej za pomocą zmiennej: {{Code|nazwa przestrzeni nazw}}, oto wartości tej zmiennej:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
** {{Code|artykuł}} - jednostka nazywana artykułem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik}} - jednostka nazywana podręcznikiem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
** {{Code|artykuł dla dzieci}} - jednostka nazywana artykułem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik dla dzieci}} - jednostka nazywana podręcznikiem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki użytkownika jako normalne strony}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}||
** {{Code|strona główna użytkownika}} - strona główna użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}{{#if:{{#invoke:Parametry|Not|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki użytkownika}}|
** {{Code|artykuł użytkownika}} - artykuł w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},
** {{Code|podręcznik użytkownika}} - podręcznik w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|
** {{Code|jednostka użytkownika}} - jednostka w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=File}}|
** {{Code|strona pliku}} - strona pliku, jest to przestrzeń nazw {{Np|File|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Category}}|
** {{Code|strona kategorii}} - strona kategorii, jest to przestrzeń nazw {{Np|Category|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}||
** {{Code|strona szablonu}} - strona szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu szablonu}} - strona opisu szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}||
** {{Code|strona modułu}} - strona modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu modułu}} - strona opisu modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
** {{Code|strona projektu}} - strona projektu, jest to przestrzeń nazw {{Np|Wikibooks|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Help}}|
** {{Code|strona pomocy}} - strona pomocy, jest to przestrzeń nazw {{Np|Help|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Special}}|
** {{Code|strona specjalna}} - strona specjalna, jest to przestrzeń nazw {{Np|Special|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=MediaWiki}}|
** {{Code|strona komunikatu}} - w przypadku strony komunikatu, jest to przestrzeń nazw {{Np|MediaWiki|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Gadget}}|
** {{Code|strona gadżetu}} - strona gadżetu, jest to przestrzeń nazw {{Np|Gadget|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
** {{Code|strona główna dla dzieci}} - strona główna {{lj2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna dla dzieci}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
** {{Code|strona główna projektu}} - strona główna {{lr2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna projektu}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}|
** {{Code|strona brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki brudnopisu projektu}}|
** {{Code|artykuł brudnopisu projektu}} - jednostka znana artykułem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
** {{Code|podręcznik brudnopisu projektu}} - jednostka znana podręcznikiem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|
** {{Code|jednostka brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}||
** {{Code|strona brudnopisu szablonu}} - szablon w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}||
** {{Code|strona brudnopisu opisu szablonu}} - opis szablonu w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}
}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}||
** {{Code|strona brudnopisu modułu}} - moduł w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}||
** {{Code|strona brudnopisu opisu modułu}} - opis modułu w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}}}
:(opcjonalny, szablon domyślnie sam ustawia do jakiego typu jednostki, należy jednostka, powyżej wymienionego),
* {{Code|nazwij jednostką}} - wartość niepusta, wtedy szablon jednostkę nazywa po prostu {{Code|jednostką}}, w przeciwnym wypadku szablon nazywa zbiory w zależności do jakiej przestrzeni nazw ona zależy i od rodzaju strony,{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
* {{Code|strona główna dla dzieci}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lj2|Strona główna}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
* {{Code|strona główna projektu}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lr2|Strona główna}}),}}
* {{Code|bez kategorii}} - wartość niepusta, tzn. wtedy szablon nie umieszcza strony w żadnej kategorii, w przeciwnym przypadku umieszcza (opcjonalny).
{{Hr}}
* Zmienn{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|e|a}}: {{Code|typ jednostki}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}| i {{Code|typ jednostki N}}}}, nie {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|są używane|jest używana}} do wyświetlania rodzaju jednostki, gdy zmienna: {{Code|nazwij jednostką}}, jest niepusta, wtedy ona jest nazywana {{Code|jednostką}}.{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* Numer {{Code|N}}, to {{Code|1}},{{Code|2}},{{Code|3}} do {{Code|n}} parametrów szablonu nazywane liczbami naturalnymi.}}
}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Kategorie błędów tego szablonu.</div>|spis=<div style="padding-left:5px;padding-right:5px;">
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or
| 1 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}
| 2 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}
| 3 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}
}}
|{{#switch:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|1|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|1|0}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}|1|0}}}}
|1=Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
;Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} i {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|10=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego {{NAZWASERWISU|link=tak|po=a}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka polskiego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|01=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}en:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, lokalnego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}en:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalnego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu dla kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|11=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalny projekt.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}
Gdy szablon podano ze zmienną {{Code|klucz projektu}} albo {{Code|kod języka}} lub {{Code|kod projektu}}, które mogą posiadać wartości nieprawidłowe.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale nieprawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}ek:r{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - gdy podano w parametrze {{Code|klucz projektu}} nieprawidłową wartość.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}ek:r{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale nieprawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ek{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} o wartości nieprawidłowej.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład trzeci ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}bt{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} posiadającą wartość nieprawidłową.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}bt{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład czwarty ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ee{{!}}kod projektu{{((}}{{=}}{{))}}ww{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano: {{Code|kod języka}} i {{Code|kod projektu}}, mający nieprawidłowe wartości.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}kod projektu{{=}}rw{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}}}
* Gdy nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest nieprawidłowa, a więc działania tego szablonu są równoważne, jeśli napiszemy je ogólnie według przykładu:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}MojaPrzestrzeń{{))}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa przestrzeni nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{moja przestrzeń|MojaPrzestrzeń}}}{{))}} }} }}
{{Hr}}
* Gdy szablon został wstawiony na stronę w przestrzeni innej, niż obsługiwane przestrzenie nazw, lub ustawiono wartość parametru: {{Code|nazwa przestrzeni nazw}}, na inną wartość, niż te, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - wstawiono szablon do nieobsługiwanej przestrzeni nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}} - gdy ustawiono nazwę przestrzeni nazw na wartość inną, niż obsługiwaną przestrzeń nazw, tutaj ustawiono na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}|link=tak}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana przestrzeń nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości pustej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono na obsługiwaną przestrzeń nazw, tutaj na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości nieprawidłowej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}} - gdy szablon użyto z parametrem nazwy jednostki zawierającą w sobie wyrażenie między innymi typu: <nowiki>{{{1}}}</nowiki>.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}}}}
{{Hr}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
* Gdy szablon wsadzono do przestrzeni nazw (główna) lub nadano zmiennej: {{Code|nazwa przestrzeni nazw}}, wartość pustą, z nazwą jednostki w zmiennej: {{Code|nazwa jednostki}}, zawierającą w sobie przestrzeń, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|(main)}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw.
** Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nazwa jednostki zawierająca w sobie przestrzeń}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}(main){{!}}nazwa jednostki{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}}}}
{{Hr}}
}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o niewłaściwej wartości oraz jego umieszczono na stronie w dowolnej obsługiwanej przestrzeni nazw, lub nadano wartość zmiennej: {{Code|nazwa przestrzeni nazw}}, o nazwie, któreś z tych przestrzeni, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nieprawidłowy typ jednostki,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy wstawiono szablon na stronę do przestrzeni nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i ustawiono nieprawidłowy typ jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}jakaś{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodna wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw i nazwą jednostki z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona główna podręcznika{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nazwę jednostki niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodne parametry pudełkowe}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona główna podręcznika{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|tak}}|tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw z listą zmiennych nienazwanych zmieniająca się nie o jeden, ten problem możemy zapisać przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{((}}{{=}}{{))}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{((}}{{=}}{{))}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{((}}{{=}}{{))}}argument 6}}|{{!}}2{{((}}{{=}}{{))}}argument 2{{!}}4{{((}}{{=}}{{))}}argument 4{{!}}6{{((}}{{=}}{{))}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{((}}!{{))}}klucz projektu{{((}}{{=}}{{))}}en:w}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono z parametrami nienazwanymi zmieniające się między sobą nie o jeden.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=brak parametrów}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{=}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{=}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{=}}argument 6}}|{{!}}2{{=}}argument 2{{!}}4{{=}}argument 4{{!}}6{{=}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{!}}klucz projektu{{=}}en:w}}}}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona modułu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z pustą nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono zmienną nazwy jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} na stronę o nazwie {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej projektu}}}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, zawierającą w sobie prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono na stronę {{Code|Strona}} i ustawiono nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono w szablonie nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę wskazywaną przez zmienną: {{Code|strona główna projektu}} (używana, gdy chcemy określić samemu nazwę strony głównej projektu), a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony na {{Code|Strona}} o podanej w zmiennej nazwy jednostki o takiej samej wartości bez przestrzeni nazw, jak wartość w zmiennej strony głównej projektu, i nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} i ustawiono w szablonie nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną projektu o nazwie {{lr2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}||
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Wikibooks|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Wikibooks|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Wikibooks|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, jest pusta, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennych wskazujących, jedna na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}}, a druga na nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i szablon wstawiono na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} i ustawiono nazwę jednostki w szablonie na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon przydziela stronę do kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej dla dzieci}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej dla dzieci}}}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, zawiera prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i nazwę strony na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z ustawioną zmienną nazwy jednostki na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono zmienną wskazującej na nazwę przestrzeni nazw o wartości {{Code|Wikijunior}} i wstawiono go na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę główną dla dzieci lub ustawiono wartość zmiennej: {{Code|nazwa przestrzeni nazw}} na wartość {{Code|{{Np|Wikijunior|link=tak}}}}, oraz ewentualnie nadano zmiennej: {{Code|nazwa jednostki}}, określającą nazwę tej jednostki (jeśli ta zmienna jest niepodana, to wtedy jest tożsama z nazwą tej strony) i argument: {{Code|strona główna dla dzieci}} (używana, gdy chcemy określić samemu nazwę strony głównej dla dzieci) na nazwę tej jednostki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony podanej w zmiennej nazwy jednostki o takiej samej wartości, jak wartość zmiennej bez przestrzeni nazw strony głównej dla dzieci, i nazwę przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę jednostki na {{Code|Strona}} i go wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną dla dzieci o nazwie {{lj2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}|
{{Hr}}
* Gdy szablon wstawiono do przestrzeni nazw na stronę główną użytkownika lub nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest {{Np|User|link=tak}} albo wstawiono go do przestrzeni Wikipedysta, i ewentualnie podano: {{Code|nazwa jednostki}}, równą nazwie użytkownika lub nazwie strony niezawierająca prawych ukośników, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy w szablonie ustawiono na przestrzeń nazw {{Np|User|link=tak}} i nazwę strony, tutaj strony głównej użytkownika, nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy szablon wstawiono na stronę, o ustawionej nazwie, do przestrzeni nazw {{Np|User|link=tak}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną użytkownika (Wikipedysty).
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna użytkownika}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}User{{!}}nazwa jednostki{{=}}Użytkownik{{))}}}}}}
}}}}{{#invoke:Ramka|PowtarzajOdDo
|start = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najniższy numer dodatkowego warunku=tak}}
|koniec = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najwyższy numer dodatkowego warunku=tak}}
|1 = {{((}}#if:{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}parametry pudełka{{=}}tak{{((}}!{{))}}istnieje taki parametr dodatkowego warunku{{((}}={{))}}tak{{!}}numer parametru dodatkowego{{((}}={{))}}{{((}}_{{))}}{{!}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{!}}{{Hr}}Dodatkowe błędy zwrócone przez szablon zaznaczony wprowadzone pośrednio w obsługę szablonu {{s|{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}}}, nie za pomoca pudełek zaimplemetowane w module {{ld2|Pudełko}}. Wywołanie błędu numer {{((}}_{{))}}, w którym w tym szablonie jest uruchamiany za pomocą dodatkowych parametrów, tym razem o tym numerze:
* {{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}s{{((}}!{{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}Zastąp{{!}}ciąg{{=}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{!}}wzór{{=}}{{=}}{{!}}zamień{{=}}{{((}}(({{))}}={{((}})){{))}}{{))}}{{((}})){{))}}{{))}} - szablon ten o tych parametrach lub bez parametru {{Code|nazwa przestrzeni nazw}}, ale wstawiony do tej przestrzeni nazw o wartości obsługiwanej reprezentowanej przez ten szablon.
* Szablon włącza stronę do kategorii: {{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}kategorie parametrów dodatkowych{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{((}}OpakujKategorieZeSortowaniem{{!}}{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{))}}{{))}}
}}</div>}}}}<!--
-->{{#ifeq:{{Ns:Template}}:{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}
|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=/{{{strona|opis}}}$}}
| <!-- wartość pusta -->
|{{Kategoria|Szablony z szablonowym opisem pudełka}}
}}
}}</includeonly><!--
--><noinclude>{{#ifeq:{{Ns:Template}}:Szablonowy opis pudełka|{{FULLPAGENAME}}|{{Kategoria|Szablony z szablonowym opisem pudełka|sortuj spacją=tak}}}}</noinclude><!--
--><noinclude>{{Dokumentacja}}</noinclude>
4o2g96zea7zrioy6d0xe0b5365iaabs
540954
540953
2026-04-27T11:23:59Z
Persino
2851
Anulowano wersję [[Special:Diff/540953|540953]] autorstwa [[Special:Contributions/Persino|Persino]] ([[User talk:Persino|dyskusja]])
540954
wikitext
text/x-wiki
<includeonly>{{#if:{{{opis parametrów szablonu|}}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Parametry dodatkowe tego szablonu.</div>|spis=
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|klucz projektu}} i {{Code|klucz projektu N}}, {{Code|kod języka}} i {{Code|kod języka N}}, {{Code|kod projektu}} i {{Code|kod projektu N}} - kolejno: klucz projektu, kod języka i kod projektu, dla zmiennej jeden i {{Code|N}},}}}}
* {{Code|nazwa przestrzeni nazw}} - przestrzeń nazw, w której znajduje się jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw, w której siedzi ten szablon),{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* {{Code|nazwa przestrzeni nazw N}} - przestrzeń nazw N-tego parametru nazwy jednostki, w której znajduje się N-ta jednostka, (opcjonalny, domyślnie jego wartość jest nazwę przestrzeni nazw {{Code|nazwa przestrzeni nazw}}, a jeżeli nie użyto tej zmiennej, to w której siedzi ten szablon),}}
* {{Code|nazwa jednostki}} - jest to nazwa strony, bez przestrzeni nazw, występującej na polskim serwisie {{NAZWASERWISU}}, (opcjonalny, domyślnie jego wartość jest nazwą aktualnej jednostki, w której siedzi ten szablon),
* {{Code|typ jednostki}} {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|i {{Code|typ jednostki N}}}} - używana do nazywania jednostek w dowolnej przestrzeni nazw, gdy jednostkę umieszczono w jakieś z tych przestrzeni nazw, lub przypisano ją do jakieś z tych przestrzeni ustawionej za pomocą zmiennej: {{Code|nazwa przestrzeni nazw}}, oto wartości tej zmiennej:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
** {{Code|artykuł}} - jednostka nazywana artykułem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik}} - jednostka nazywana podręcznikiem, przeznaczona dla wszystkich, w przestrzeni nazw {{Np|(main)|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
** {{Code|artykuł dla dzieci}} - jednostka nazywana artykułem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}||
** {{Code|podręcznik dla dzieci}} - jednostka nazywana podręcznikiem dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane indywidua użytkownika jako normalne strony}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}||
** {{Code|strona główna użytkownika}} - strona główna użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}{{#if:{{#invoke:Parametry|Not|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}}}|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki użytkownika}}|
** {{Code|artykuł użytkownika}} - artykuł w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},
** {{Code|podręcznik użytkownika}} - podręcznik w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},|
** {{Code|jednostka użytkownika}} - jednostka w przestrzeni nazw użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}|
** {{Code|strona użytkownika}} - strona użytkownika, jest to przestrzeń nazw {{Np|User|link=tak}},}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=File}}|
** {{Code|strona pliku}} - strona pliku, jest to przestrzeń nazw {{Np|File|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Category}}|
** {{Code|strona kategorii}} - strona kategorii, jest to przestrzeń nazw {{Np|Category|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}||
** {{Code|strona szablonu}} - strona szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu szablonu}} - strona opisu szablonu, jest to przestrzeń nazw {{Np|Template|link=tak}},}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}||
** {{Code|strona modułu}} - strona modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}||
** {{Code|strona opisu modułu}} - strona opisu modułu, jest to przestrzeń nazw {{Np|Module|link=tak}},}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
** {{Code|strona projektu}} - strona projektu, jest to przestrzeń nazw {{Np|Wikibooks|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Help}}|
** {{Code|strona pomocy}} - strona pomocy, jest to przestrzeń nazw {{Np|Help|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Special}}|
** {{Code|strona specjalna}} - strona specjalna, jest to przestrzeń nazw {{Np|Special|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=MediaWiki}}|
** {{Code|strona komunikatu}} - w przypadku strony komunikatu, jest to przestrzeń nazw {{Np|MediaWiki|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Gadget}}|
** {{Code|strona gadżetu}} - strona gadżetu, jest to przestrzeń nazw {{Np|Gadget|link=tak}},}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
** {{Code|strona główna dla dzieci}} - strona główna {{lj2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna dla dzieci}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
** {{Code|strona główna projektu}} - strona główna {{lr2|Strona główna}} (lub o nazwie z nazwą przestrzeni nazw ustawioną za pomocą zmiennej: {{Code|strona główna projektu}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}|
{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki jako nieopisowe strony}}|
** {{Code|strona brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane jednostki brudnopisu projektu}}|
** {{Code|artykuł brudnopisu projektu}} - jednostka znana artykułem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
** {{Code|podręcznik brudnopisu projektu}} - jednostka znana podręcznikiem w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},|
** {{Code|jednostka brudnopisu projektu}} - jednostka w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} w nibyprzestrzeni nazw: {{lr2|Brudnopis}},
}}}}}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}||
** {{Code|strona brudnopisu szablonu}} - szablon w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}||
** {{Code|strona brudnopisu opisu szablonu}} - opis szablonu w przestrzeni nazw {{Np|Template|link=tak}} w nibyprzestrzeni nazw: {{ls2|Brudnopis}},}}
}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}||
** {{Code|strona brudnopisu modułu}} - moduł w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}||
** {{Code|strona brudnopisu opisu modułu}} - opis modułu w przestrzeni nazw {{Np|Module|link=tak}} w nibyprzestrzeni nazw: {{ld2|Brudnopis}},}}}}
:(opcjonalny, szablon domyślnie sam ustawia do jakiego typu jednostki, należy jednostka, powyżej wymienionego),
* {{Code|nazwij jednostką}} - wartość niepusta, wtedy szablon jednostkę nazywa po prostu {{Code|jednostką}}, w przeciwnym wypadku szablon nazywa zbiory w zależności do jakiej przestrzeni nazw ona zależy i od rodzaju strony,{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}||
* {{Code|strona główna dla dzieci}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lj2|Strona główna}}),}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}||
* {{Code|strona główna projektu}} - strona główna z przestrzenią nazw, zwykle jest to w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} z nazwą strony {{Code|Strona główna}}, (opcjonalny, domyślnie ustawiony na: {{lr2|Strona główna}}),}}
* {{Code|bez kategorii}} - wartość niepusta, tzn. wtedy szablon nie umieszcza strony w żadnej kategorii, w przeciwnym przypadku umieszcza (opcjonalny).
{{Hr}}
* Zmienn{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|e|a}}: {{Code|typ jednostki}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}| i {{Code|typ jednostki N}}}}, nie {{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|są używane|jest używana}} do wyświetlania rodzaju jednostki, gdy zmienna: {{Code|nazwij jednostką}}, jest niepusta, wtedy ona jest nazywana {{Code|jednostką}}.{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
* Numer {{Code|N}}, to {{Code|1}},{{Code|2}},{{Code|3}} do {{Code|n}} parametrów szablonu nazywane liczbami naturalnymi.}}
}}|
{{Tabela nawigacyjna|styl=width:100%;|tytuł=<div style="text-align:left;">Kategorie błędów tego szablonu.</div>|spis=<div style="padding-left:5px;padding-right:5px;">
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or
| 1 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}
| 2 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}
| 3 = {{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}
}}
|{{#switch:{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|1|{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|1|0}}{{#if:{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}|1|0}}}}
|1=Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
;Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} i {{Code|kod projektu}} bieżącego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|10=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na jakiś projekt wiki siostrzane z {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie niebieżącym, niepolskim lub nielokalnym, niż polski {{NAZWASERWISU|link=tak}}.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego {{NAZWASERWISU|link=tak|po=a}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w zmiennej {{Code|kod języka}} kod języka polskiego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kod języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
*{{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}kod projektu{{((}}{{=}}{{))}}w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano niejawnie projekt polski.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}kod projektu{{=}}w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|01=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}en:b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, lokalnego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}en:b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}pl{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalnego projektu.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}pl{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu dla kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano kod projektu lokalny przy pomocy {{Code|kod projektu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=lokalne wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}
|11=
Gdy szablon wstawiono z kodami: {{Code|klucz projektu}}, {{Code|kod języka}} lub {{Code|kod projektu}}, wskazujący na projekt bieżącego projektu {{NAZWASERWISU}}, lub ich nie podano, w przypadku tego ostatniego szablon wcale nie zwraca błędu, bo on został przystosowany do operowania tylko na projekcie bieżącym.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale prawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}pl:w{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano w {{Code|klucz projektu}} kody: języka i projektu, polskiego wiki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}pl:w{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano przy pomocy {{Code|kod języka}} niejawnie lokalny projekt.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale prawidłowego kodu języka i kodu projektu kolejno w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}.
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}en{{!}}kod projektu{{((}}{{=}}{{))}}b{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano projekt lokalny.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=polskie lub lokalne - wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}en{{!}}kod projektu{{=}}b{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}
Gdy szablon podano ze zmienną {{Code|klucz projektu}} albo {{Code|kod języka}} lub {{Code|kod projektu}}, które mogą posiadać wartości nieprawidłowe.
{{Hr}}
; Przykład pierwszy ilustrujący działanie złego, ale nieprawidłowego klucza projektu w zmiennej {{Code|klucz projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}klucz projektu{{((}}{{=}}{{))}}ek:r{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - gdy podano w parametrze {{Code|klucz projektu}} nieprawidłową wartość.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}klucz projektu{{=}}ek:r{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład drugi ilustrujący działanie złego, ale nieprawidłowego kodu języka w zmiennej {{Code|kod języka}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ek{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod języka}} o wartości nieprawidłowej.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład trzeci ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod projektu{{((}}{{=}}{{))}}bt{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano {{Code|kod projektu}} posiadającą wartość nieprawidłową.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod projektu{{=}}bt{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}
; Przykład czwarty ilustrujący działanie złego, ale nieprawidłowego kodu projektu w zmiennej {{Code|kod języka}} i {{Code|kod projektu}}
* {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona{{!}}kod języka{{((}}{{=}}{{))}}ee{{!}}kod projektu{{((}}{{=}}{{))}}ww{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}} - podano: {{Code|kod języka}} i {{Code|kod projektu}}, mający nieprawidłowe wartości.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=błędne parametry wiki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}strona{{!}}kod języka{{=}}ek{{!}}kod projektu{{=}}rw{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{))}}}}}}{{Hr}}{{Hr}}}}}}
* Gdy nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest nieprawidłowa, a więc działania tego szablonu są równoważne, jeśli napiszemy je ogólnie według przykładu:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}MojaPrzestrzeń{{))}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa przestrzeni nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{moja przestrzeń|MojaPrzestrzeń}}}{{))}} }} }}
{{Hr}}
* Gdy szablon został wstawiony na stronę w przestrzeni innej, niż obsługiwane przestrzenie nazw, lub ustawiono wartość parametru: {{Code|nazwa przestrzeni nazw}}, na inną wartość, niż te, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - wstawiono szablon do nieobsługiwanej przestrzeni nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}} - gdy ustawiono nazwę przestrzeni nazw na wartość inną, niż obsługiwaną przestrzeń nazw, tutaj ustawiono na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}|link=tak}}}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana przestrzeń nazw}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza nieobsługiwana przestrzeń nazw=tak}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości pustej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono na obsługiwaną przestrzeń nazw, tutaj na przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|nazwa jednostki}}, o wartości nieprawidłowej, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}} - gdy szablon użyto z parametrem nazwy jednostki zawierającą w sobie wyrażenie między innymi typu: <nowiki>{{{1}}}</nowiki>.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}{{((}}((({{))}}1{{((}}))){{))}}{{))}}}}}}
{{Hr}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=(main)}}|
* Gdy szablon wsadzono do przestrzeni nazw (główna) lub nadano zmiennej: {{Code|nazwa przestrzeni nazw}}, wartość pustą, z nazwą jednostki w zmiennej: {{Code|nazwa jednostki}}, zawierającą w sobie przestrzeń, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|(main)}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|(main)|link=tak}}}} z ustawioną nazwą strony na {{Code|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona}} zawierającą w sobie przestrzeń nazw.
** Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nazwa jednostki zawierająca w sobie przestrzeń}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}(main){{!}}nazwa jednostki{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}:Strona{{))}}}}}}
{{Hr}}
}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o niewłaściwej wartości oraz jego umieszczono na stronie w dowolnej obsługiwanej przestrzeni nazw, lub nadano wartość zmiennej: {{Code|nazwa przestrzeni nazw}}, o nazwie, któreś z tych przestrzeni, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nieprawidłowy typ jednostki,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}typ jednostki{{((}}{{=}}{{))}}jakaś{{))}}}} - gdy wstawiono szablon na stronę do przestrzeni nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i ustawiono nieprawidłowy typ jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}jakaś{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodna wartość typu jednostki}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{Hr}}
* Gdy w szablonie użyto zmiennej: {{Code|typ jednostki}}, o wartości niezgodnej z podaną nazwą przestrzeni nazw i nazwą jednostki z parametrów szablonu, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona główna podręcznika{{!}}typ jednostki{{((}}{{=}}{{))}}artykuł{{))}}}} - gdy ustawiono przestrzeń nazw {{Code|{{Np|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}|link=tak}}}} i nazwę jednostki niezgdodną z typem jednostki.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=niezgodne parametry pudełkowe}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona główna podręcznika{{!}}typ jednostki{{=}}artykuł{{))}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|tak}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|tak}}|tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę w obsługiwanej przestrzeni nazw z listą zmiennych nienazwanych zmieniająca się nie o jeden, ten problem możemy zapisać przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{((}}{{=}}{{))}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{((}}{{=}}{{))}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{((}}{{=}}{{))}}argument 6}}|{{!}}2{{((}}{{=}}{{))}}argument 2{{!}}4{{((}}{{=}}{{))}}argument 4{{!}}6{{((}}{{=}}{{))}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{((}}!{{))}}klucz projektu{{((}}{{=}}{{))}}en:w}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono z parametrami nienazwanymi zmieniające się między sobą nie o jeden.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=brak parametrów}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>0|{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=2|{{!}}2{{=}}argument 2}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=4|{{!}}4{{=}}argument 4}}{{#ifexpr:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|maksymalny numer argumentu nienazwanego=tak}}>=6|{{!}}6{{=}}argument 6}}|{{!}}2{{=}}argument 2{{!}}4{{=}}argument 4{{!}}6{{=}}argument 6}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nazwy jednostki numerowane}}|
{{#if:{{#invoke:Parametry|Or|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=obsługiwane niebieżące wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane polskie wiki}}|{{ {{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=nieobsługiwane lokalne wiki}}}}|{{!}}klucz projektu{{=}}en:w}}}}{{!}}nazwa przestrzeni nazw{{=}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|pierwsza obsługiwana użytkowa niegłówna cechowa przestrzeń nazw=tak}}{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Strona szablonu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Strona modułu/opis{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Template}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis szablonu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu szablonów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu szablonu w przestrzeni nazw {{Np|Template|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Template}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Template|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Template|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona szablonu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Template|link=tak}} i na stronę o nazwie nazwę {{Code|Strona szablonu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Template{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona szablonu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Module}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis modułu=tak}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona modułu}}.
*Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu{{))}}}}}}
}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony brudnopisu opisu modułów=tak}}|
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę brudnopisu opisu modułu w przestrzeni nazw {{Np|Module|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Module}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Module|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Module|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona modułu/opis}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Module|link=tak}} i na stronę o nazwie nazwę {{Code|Strona modułu/opis}},
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu opisu modułu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Module{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona modułu/opis{{))}}}}}}
}}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z pustą nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono zmienną nazwy jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} na stronę o nazwie {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej projektu}}}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę z nazwą strony głównej projektu w zmiennej: {{Code|strona główna projektu}}, zawierającą w sobie prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono przestrzeń nazw {{Code|{{Np|Wikibooks|link=tak}}}} i nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono na stronę {{Code|Strona}} i ustawiono nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono w szablonie nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona/Podstrona{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna projektu=tak}}|
{{Hr}}
* Gdy szablon został wstawiony na stronę wskazywaną przez zmienną: {{Code|strona główna projektu}} (używana, gdy chcemy określić samemu nazwę strony głównej projektu), a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony na {{Code|Strona}} o podanej w zmiennej nazwy jednostki o takiej samej wartości bez przestrzeni nazw, jak wartość w zmiennej strony głównej projektu, i nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} i ustawiono w szablonie nazwę przestrzeni nazw na {{Code|{{Np|Wikibooks|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna projektu{{((}}{{=}}{{))}}Wikibooks:Strona{{))}}}} - gdy szablon wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikibooks|link=tak}}}} i ustawiono nazwę jednostki na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną projektu o nazwie {{lr2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna projektu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}strona główna projektu{{=}}Wikibooks:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikibooks}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwany brudnopis projektu=tak}}||
{{Hr}}
* Gdy szablon wstawiono na nieobsługiwaną stronę szablonu w przestrzeni nazw {{Np|Wikibooks|link=tak}}, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikibooks}}{{))}}}} - gdy ustawiono przestrzeń nazw {{Np|Wikibooks|link=tak}} i wstawiono na stronę o nazwie {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Np|Wikibooks|link=tak}} i ustawiono nazwę jednostki na {{Code|Brudnopis/Użytkownik/Strona brudnopisu projektu}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy wstawiono stronę do przestrzeni nazw {{Np|Wikibooks|link=tak}} i na stronę o nazwie nazwę {{Code|Brudnopis/Użytkownik/Strona szablonu}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona brudnopisu szablonu}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikibooks{{!}}nazwa jednostki{{=}}Brudnopis/Użytkownik/Strona brudnopisu projektu{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=Wikijunior}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, jest pusta, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennych wskazujących, jedna na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}}, a druga na nazwę jednostki {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i szablon wstawiono na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon wstawiono do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} i ustawiono nazwę jednostki w szablonie na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon przydziela stronę do kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=pusta nazwa strony głównej dla dzieci}}.
*{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}{{))}}}}}}{{#if:{{#invoke:Parametry|Not|{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowy parametr=tak|parametr=dowolna nazwa strony głównej dla dzieci}}}}|
{{Hr}}
* Nazwa strony głównej projektu w zmiennej: {{Code|strona główna dla dzieci}}, zawiera prawe ukośniki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy użyto zmiennej wskazującej na nazwę przestrzeni nazw o wartości {{Code|{{Np|Wikijunior|link=tak}}}} i nazwę strony na {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy wstawiono szablon do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} z ustawioną zmienną nazwy jednostki na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}Wikijunior{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy w szablonie ustawiono zmienną wskazującej na nazwę przestrzeni nazw o wartości {{Code|Wikijunior}} i wstawiono go na stronę o nazwie {{Code|Strona}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona/Podstrona{{))}}}} - gdy szablon został wstawiony do przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}} na stronę {{Code|Strona}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieprawidłowa nazwa strony głównej dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona/Podstrona{{))}}}}}}}}
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwana strona główna dla dzieci=tak}}|
{{Hr}}
* Gdy szablon wstawiono na stronę główną dla dzieci lub ustawiono wartość zmiennej: {{Code|nazwa przestrzeni nazw}} na wartość {{Code|{{Np|Wikijunior|link=tak}}}}, oraz ewentualnie nadano zmiennej: {{Code|nazwa jednostki}}, określającą nazwę tej jednostki (jeśli ta zmienna jest niepodana, to wtedy jest tożsama z nazwą tej strony) i argument: {{Code|strona główna dla dzieci}} (używana, gdy chcemy określić samemu nazwę strony głównej dla dzieci) na nazwę tej jednostki, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę strony podanej w zmiennej nazwy jednostki o takiej samej wartości, jak wartość zmiennej bez przestrzeni nazw strony głównej dla dzieci, i nazwę przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|Wikijunior}}{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy szablon wstawiono na stronę o nazwie {{Code|Strona}} z ustawioną nazwą przestrzeni nazw na {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Strona{{!}}strona główna dla dzieci{{((}}{{=}}{{))}}Wikijunior:Strona{{))}}}} - gdy w szablonie ustawiono nazwę jednostki na {{Code|Strona}} i go wstawiono na stronę w przestrzeni nazw {{Code|{{Np|Wikijunior|link=tak}}}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną dla dzieci o nazwie {{lj2|Strona główna}}.
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna dla dzieci}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}Wikijunior{{!}}strona główna dla dzieci{{=}}Wikijunior:Strona{{!}}nazwa jednostki{{=}}Strona{{))}}}}}}
}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|obsługiwana przestrzeń nazw=tak|nazwa przestrzeni nazw=User}}|
{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|nieobsługiwane strony główne użytkowników=tak}}|
{{Hr}}
* Gdy szablon wstawiono do przestrzeni nazw na stronę główną użytkownika lub nazwa przestrzeni w zmiennej: {{Code|nazwa przestrzeni nazw}}, jest {{Np|User|link=tak}} albo wstawiono go do przestrzeni Wikipedysta, i ewentualnie podano: {{Code|nazwa jednostki}}, równą nazwie użytkownika lub nazwie strony niezawierająca prawych ukośników, a więc działania tego szablonu są równoważne, jeśli napiszemy je przykładowo:
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy w szablonie ustawiono na przestrzeń nazw {{Np|User|link=tak}} i nazwę strony, tutaj strony głównej użytkownika, nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa przestrzeni nazw{{((}}{{=}}{{))}}{{Np|User}}{{))}}}} - gdy szablon wstawiono na stronę o nazwie nieskładającego się z prawych ukośników,
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{!}}nazwa jednostki{{((}}{{=}}{{))}}Użytkownik{{))}}}} - gdy szablon wstawiono na stronę, o ustawionej nazwie, do przestrzeni nazw {{Np|User|link=tak}},
** {{#invoke:Ramka|Rozwiń|{{((}}s{{!}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{Zastąp|ciąg={{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|wzór=({{!}}{{!(}}^{{=}}{{!}}{{)!}}*)({{=}})|zamień=%1{{((}}{{=}}{{))}}}}}}{{))}}}} - gdy szablon wstawiono na stronę główną użytkownika (Wikipedysty).
* Szablon umieszcza stronę w kategorii: {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|zwracane kategorie błędu=tak|dodatek=nieobsługiwana strona główna użytkownika}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{OpakujKategorieZeSortowaniem|{{#invoke:Ramka|Rozwiń|{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}}|{{!}}{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|parametry=tak}} }}{{!}}nazwa przestrzeni nazw{{=}}User{{!}}nazwa jednostki{{=}}Użytkownik{{))}}}}}}
}}}}{{#invoke:Ramka|PowtarzajOdDo
|start = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najniższy numer dodatkowego warunku=tak}}
|koniec = {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|najwyższy numer dodatkowego warunku=tak}}
|1 = {{((}}#if:{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}parametry pudełka{{=}}tak{{((}}!{{))}}istnieje taki parametr dodatkowego warunku{{((}}={{))}}tak{{!}}numer parametru dodatkowego{{((}}={{))}}{{((}}_{{))}}{{!}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{!}}{{Hr}}Dodatkowe błędy zwrócone przez szablon zaznaczony wprowadzone pośrednio w obsługę szablonu {{s|{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}}}, nie za pomoca pudełek zaimplemetowane w module {{ld2|Pudełko}}. Wywołanie błędu numer {{((}}_{{))}}, w którym w tym szablonie jest uruchamiany za pomocą dodatkowych parametrów, tym razem o tym numerze:
* {{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}s{{((}}!{{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}Zastąp{{!}}ciąg{{=}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{!}}wzór{{=}}{{=}}{{!}}zamień{{=}}{{((}}(({{))}}={{((}})){{))}}{{))}}{{((}})){{))}}{{))}} - szablon ten o tych parametrach lub bez parametru {{Code|nazwa przestrzeni nazw}}, ale wstawiony do tej przestrzeni nazw o wartości obsługiwanej reprezentowanej przez ten szablon.
* Szablon włącza stronę do kategorii: {{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}kategorie parametrów dodatkowych{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}.
* {{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}{{#if:{{{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}|parametry pudełka=tak|dodatkowa informacja=tak}}|,}} co da w efekcie:
{{((}}OpakujKategorieZeSortowaniem{{!}}{{((}}#invoke:Ramka{{!}}Rozwiń{{!}}{{((}}(({{))}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{((}}!{{))}}{{((}}{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}}}}}{{!}}parametry pudełka{{=}}tak{{!}}parametry dodatkowego warunku{{=}}tak{{!}}numer parametru dodatkowego{{=}}{{((}}_{{))}}{{))}}{{((}})){{))}}{{))}}{{))}}{{))}}
}}</div>}}}}<!--
-->{{#ifeq:{{Ns:Template}}:{{{nazwa szablonu|{{NAZWAKORZENIASTRONY}} }}}|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}
|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=/{{{strona|opis}}}$}}
| <!-- wartość pusta -->
|{{Kategoria|Szablony z szablonowym opisem pudełka}}
}}
}}</includeonly><!--
--><noinclude>{{#ifeq:{{Ns:Template}}:Szablonowy opis pudełka|{{FULLPAGENAME}}|{{Kategoria|Szablony z szablonowym opisem pudełka|sortuj spacją=tak}}}}</noinclude><!--
--><noinclude>{{Dokumentacja}}</noinclude>
8ovywchksrh2iafnlszzgo6mi1lgwce
Szablon:Ekspresowe kasowanie 2
10
44965
540939
510864
2026-04-27T09:14:25Z
Persino
2851
540939
wikitext
text/x-wiki
<includeonly><!--
-->{{Mbox
| grafika = {{Plik|plik=User-trash-full.png|rozmiar=35px|opis=Ekspresowe kasowanie}}
| typ = poważny
| tekst = '''Jeden z użytkowników Wikibooks oznaczył t{{#if:{{{nazwij stroną|}}}|ę stronę jako kwalifikującą się|{{#switch:{{Np|{{#invoke:Pudełko|Nazwa przestrzeni nazw}}|kanoniczna=tak|wyświetlana=tak}}
| File = en plik jako kwalifikujący się
| Category = ę kategorię jako kwalifikującą się
| Template = ę szablon jako kwalifikującą się
| Module = ą stronę modułu, jako kwalifikującą się
| Wikibooks = ą stronę projektu, jako kwalifikującą się
| Help = ą stronę pomocy, jako kwalifikującą się
| User = ą stronę użytkownika, jako kwalifikującą się
| Wikijunior = ę artykuł dla dzieci, jako kwalifikującą się
| (main) = ę artykuł jako kwalifikującą się
| #default = ę stronę jako kwalifikującą się}}}}<!--
-->do {{LinkProjekt|Poczekalnia|natychmiastowego skasowania}}'''.{{Br}}{{Small|W najbliższym czasie {{LinkProjekt|Administratorzy|administratorzy Wikibooks}} zweryfikują to zgłoszenie.}}<!--
-->{{#if: {{{1|}}} | :Użytkownik, który zasugerował usunięcie strony podał następujące uzasadnienie:{{Br}}
"{{{1}}}" }}{{Br}}{{Small|Jeśli się nie zgadzasz z propozycją usunięcia, napisz o tym na stronie {{LinkProjekt|Poczekalnia}}.}}
}}{{#if:{{{bez kategorii|}}}||{{#invoke:Skrót|Kategoria2|Ekspresowe kasowanie}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
4f7s4y01gdz4f9btvnus4bwkv0thtlr
Szablon:Ekspresowe kasowanie 2/opis
10
44966
540940
517296
2026-04-27T09:16:27Z
Persino
2851
540940
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Skrót szablonu|Ek2}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Szablon służy do oznaczania stron przeznaczonych do usunięcia.
Szablon umieszcza stronę w kategorii: {{lk|Ekspresowe kasowanie}}.
== Opis parametrów ==
Szablon przyjmuje parametry opcjonalne:
* {{Code|1}} = uzasadniesie dlaczego strona musi zostać usunięta.
* {{Code|nazwij stroną}} = stronę do usunięcia nazywa po prostu stroną.
* {{Code|nazwa przestrzeni nazw}} = aktywna, gdy parametr {{Code|nazwij stroną}} jest pusty.
== Przykład ==
; Pierwszy przykład
* {{s|ek2}}
{{OpakujKategorieZeSortowaniem|{{ek2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Wydłużenie podłużne a poprzeczne}}}}
----
; Drugi przykład
* {{s|ek2|To jest uzasadnienie.}}
{{OpakujKategorieZeSortowaniem|{{ek2|To jest uzasadnienie.|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Wydłużenie podłużne a poprzeczne}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Uzasadnienie",
"type": "string",
"suggested": true
},
"nazwij stroną": {
"description": "Strona do usunięcia nazywana jest po prostu stroną.",
"type": "string",
"default": "Wartość pusta."
},
"nazwa przestrzeni nazw": {
"description": "Nazwa przestrzeni nazw, do której należy strona.",
"type": "string"
}
}
}
</templatedata>
== Zobacz też ==
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|Kpp}} i {{s|Kasowanie po przeniesieniu}} - powiadamia autora podręcznika przed jakim czasem może skopiować zawartość przed jego skasowaniem,
* {{s|Ek}} 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 (główna) i Wikijunior lub plik w przestrzeni nazw Plik, kolejno wstawiane ręcznie lub przez bota,
* {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony porządkowe
| Usuwanie stron - szablony
}}
</includeonly>
s27rddv8hfgrr6oj6jkr54bi4m57ijm
540943
540940
2026-04-27T09:24:59Z
Persino
2851
/* Przykład */
540943
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Skrót szablonu|Ek2}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Szablon służy do oznaczania stron przeznaczonych do usunięcia.
Szablon umieszcza stronę w kategorii: {{lk|Ekspresowe kasowanie}}.
== Opis parametrów ==
Szablon przyjmuje parametry opcjonalne:
* {{Code|1}} = uzasadniesie dlaczego strona musi zostać usunięta.
* {{Code|nazwij stroną}} = stronę do usunięcia nazywa po prostu stroną.
* {{Code|nazwa przestrzeni nazw}} = aktywna, gdy parametr {{Code|nazwij stroną}} jest pusty.
== Przykład ==
; Pierwszy przykład
* {{s|ek2}}
{{OpakujKategorieZeSortowaniem|{{ek2}}}}
----
; Drugi przykład
* {{s|ek2|To jest uzasadnienie.}}
{{OpakujKategorieZeSortowaniem|{{ek2|To jest uzasadnienie.}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Uzasadnienie",
"type": "string",
"suggested": true
},
"nazwij stroną": {
"description": "Strona do usunięcia nazywana jest po prostu stroną.",
"type": "string",
"default": "Wartość pusta."
},
"nazwa przestrzeni nazw": {
"description": "Nazwa przestrzeni nazw, do której należy strona.",
"type": "string"
}
}
}
</templatedata>
== Zobacz też ==
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|Kpp}} i {{s|Kasowanie po przeniesieniu}} - powiadamia autora podręcznika przed jakim czasem może skopiować zawartość przed jego skasowaniem,
* {{s|Ek}} 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 (główna) i Wikijunior lub plik w przestrzeni nazw Plik, kolejno wstawiane ręcznie lub przez bota,
* {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony porządkowe
| Usuwanie stron - szablony
}}
</includeonly>
myz9ib4atuayttta7x4a2k1vknmj9mv
Moduł:Pudełko/Pomocne
828
56499
540919
540767
2026-04-27T06:44:59Z
Persino
2851
540919
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
fmr6n6jspflt9hdvn21znvtdmnna9z0
540923
540919
2026-04-27T07:20:43Z
Persino
2851
540923
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane indywidua użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
c0k763w79c4vmwkjtwufoi8pkxm0bgh
540948
540923
2026-04-27T10:23:40Z
Persino
2851
540948
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika jako normalne strony"]))then
local i=1/0;--wywołanie błędu;
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
a7g7hg1m0tc66di88wphlh0u5la6boc
540949
540948
2026-04-27T10:37:34Z
Persino
2851
540949
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika jako normalne strony"]))then
local i=1/0;--wywołanie błędu;
end;
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane indywidua użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
8kpv0f208d684u7mke50gtu8mk48ce5
540950
540949
2026-04-27T10:38:31Z
Persino
2851
540950
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
if(frame.args["obsługiwane jednostki użytkownika jako normalne strony"])then
local i=1/0;--wywołanie błędu;
end;
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane indywidua użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
9konfwjnhzmyyocisp1ihldgz4d5vt4
540952
540950
2026-04-27T10:55:59Z
Persino
2851
540952
Scribunto
text/plain
local p={};
function p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu)
local strona=require("Module:Pudełko")["Strona główna tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
local pudelko_modul=require("Module:Pudełko");
if((kod_jezyka==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu==pudelko_modul["Kod projektu tego projektu"]()))then
return strona;
else
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local czy_w_wikidanych=wiki_interwiki_modul.tablica_kody_projektu_wikidane.lingwistyczne[kod_projektu]
or wiki_interwiki_modul.tablica_kody_projektu_wikidane.specjalistyczne[kod_projektu];
return czy_w_wikidanych and "Main Page" or nil;
end;
end;
end;
function p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
local strona=require("Module:Pudełko")["Strona główna dla dzieci tego projektu"]();
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then return strona;end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local odpowiednik_strony=require("Module:Wiki").WikidaneOdpowiednikStrony{["nazwa strony"]=strona,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu};
if(odpowiednik_strony)then
local nazwy_modul=require("Module:Nazwy");
return nazwy_modul["PEŁNANAZWASTRONY"]{[1]=odpowiednik_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,};
else
return "Wikijunior";
end;
end;
function p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local strona_glowna_projektu;
if(i~=0)then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
else
strona_glowna_projektu=(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i])
end;
else
strona_glowna_projektu=frame.args["strona główna projektu"] or pf.args["strona główna projektu"]
end;
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_projektu))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_projektu,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or (strona_glowna_projektu and "" or nil);
end;
function p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka)
local pf=frame.getParent and frame:getParent() or {args={}};
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_dla_dzieci;
if(i~=0)then
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
if(kod_jezyka==kod_jezyka_tego_projektu)then
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
else
strona_glowna_dla_dzieci=(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i])
end;
else
strona_glowna_dla_dzieci=frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"]
end;
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
local parametry_modul=require("Module:Parametry");
return (parametry_modul.CzyTak(strona_glowna_dla_dzieci))and require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=strona_glowna_dla_dzieci,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu_tego_projektu,} or (strona_glowna_dla_dzieci and "" or nil);
end;
function p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw, normmalna_przedmiotwa_dyskusji,kod_jezyka,kod_projektu)
local nazwa_przestrzeni_nazw_blad;
local wiki_modul=require("Module:Wiki");
local nazwy_modul=require("Module:Nazwy");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(normmalna_przedmiotwa_dyskusji==0)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==1)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, przedmiotowa="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(normmalna_przedmiotwa_dyskusji==2)then
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw, dyskusja="tak",["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw_blad=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
nazwa_przestrzeni_nazw_blad=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
return nazwa_przestrzeni_nazw_blad
end;
function p.Nazwa_przestrzeni_nazw(frame,kod_liczbowy_przestrzeni_nazw,czy_uwzglednic_alternatywna_nazwe,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_przestrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,numer_jednostki,1) or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,numer_jednostki);
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwy_przestrzeni_nazw;
local typ;
if(kod_liczbowy_przestrzeni_nazw==1)then
typ="przedmiotowa";
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,przedmiotowa="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
elseif(kod_liczbowy_przestrzeni_nazw==2)then
if(czy_biezaca_wiki)then
typ="dyskusja";
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["PRZESTRZEŃDYSKUSJI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,dyskusja="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
else
if(czy_biezaca_wiki)then
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]() or nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwy_przestrzeni_nazw=(not nazwa_przestrzeni_nazw)and nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,} or nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka, ["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
end;
if(czy_blad_nazwy_przestrzeni_nazw)then
return czy_blad_nazwy_przestrzeni_nazw;
else
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local nazwa_przestrzeni_nazw_alternatywnej=mw.text.trim(frame.args[1]);
if(mw.ustring.match(nazwa_przestrzeni_nazw_alternatywnej,"^[%w%s_]*$"))then
local czy_blad_nazwa_przestrzeni_nazw_alternatywnej;
if(czy_biezaca_wiki)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw_alternatywnej,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(typ)then tab_parametry[typ]="tak";end;
czy_blad_nazwa_przestrzeni_nazw_alternatywnej=nazwy_modul.NpDane(tab_parametry);
end;
return czy_blad_nazwa_przestrzeni_nazw_alternatywnej or "(błąd)";
else
return "(błąd)";
end;
else
local parametry_modul=require("Module:Parametry");
nazwa_przestrzeni_nazw=parametry_modul["Odstępy"]{[1]=nazwa_przestrzeni_nazw,[2]="tak",};
if(mw.ustring.match(nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local nazwa_przestrzeni_nazw_blad;
local parametry_modul=require("Module:Parametry");
if(czy_biezaca_wiki)then
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").Np{nazwa=nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
else
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
nazwa_przestrzeni_nazw_blad=require("Module:Nazwy").NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw_blad or nazwa_przestrzeni_nazw;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if(czy_biezaca_wiki)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Template;
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=require("Module:Nazwy")["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
nazwa_przestrzeni_nazw=nazwy_np_modul.Module;
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
nazwa_przestrzeni_nazw=template_prze;
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
nazwa_przestrzeni_nazw=module_prze;
end;
end;
end;
if(not nazwa_przestrzeni_nazw_blad)then
if(((czy_uwzglednic_alternatywna_nazwe==nil)and true or czy_uwzglednic_alternatywna_nazwe) and frame.args[1])then
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(frame.args[1]);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
if(czy_biezaca_wiki)then
local nazwy_modul=require("Module:Nazwy");
local czy_blad_nazwy_przestrzeni_nazw=nazwy_modul.Np{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
return czy_blad_nazwy_przestrzeni_nazw or "(błąd)";
else
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_blad2=nazwy_modul.NpDane{nazwa=wytrimowana_nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
return nazwa_przestrzeni_nazw_blad2 or "(błąd)";
end;
else
return "(błąd)";
end;
else
local wytrimowana_nazwa_przestrzeni_nazw=mw.text.trim(nazwa_przestrzeni_nazw);
if(mw.ustring.match(wytrimowana_nazwa_przestrzeni_nazw,"^[%w%s_]*$"))then
return wytrimowana_nazwa_przestrzeni_nazw;
else
return "(błąd)";
end;
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return require("Module:Nazwy")["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,typ)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
local tab_nazwa={
["przedmiotowa"]="Nazwa przedmiotowej przestrzeni nazw",
["dyskusja"]="Nazwa przestrzeni nazw",
};
local nazwa_przestrzeni_nazw=pudelko_modul[tab_nazwa[typ]](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwy_modul=require("Module:Nazwy");
if(nazwa_przestrzeni_nazw=="")then
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local tab_nazwa={
["przedmiotowa"]="PRZEDMIOTOWAPRZESTRZEŃ",
["dyskusja"]="PRZESTRZEŃDYSKUSJI",
};
nazwa_przestrzeni_nazw=nazwy_modul[tab_nazwa[typ]]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
else
if(typ=="dyskusja")then
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{[typ]="tak",nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{[typ]="tak",nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
return nazwa_przestrzeni_nazw;
end;
function p.Kod_jezyka(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod języka tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod języka tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka"] or frame.args["kod języka 1"] or pf.args["kod języka"] or pf.args["kod języka 1"]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_jezyka=frame.args["kod języka "..i] or pf.args["kod języka "..i]
return ((kod_jezyka)and(kod_jezyka~=""))and mw.text.trim(kod_jezyka) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Kod_projektu(frame,i,wartosc_domyslna)
local pudelko_modul=require("Module:Pudełko");
if(not i)then return pudelko_modul["Kod projektu tego projektu"]();end;
local pf=frame.getParent and frame:getParent() or {args={}};
if(i==0)then
return pudelko_modul["Kod projektu tego projektu"]();
elseif(i==1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu"] or frame.args["kod projektu 1"] or pf.args["kod projektu"] or pf.args["kod projektu 1"]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
elseif(i>1)then
local parametry_modul=require("Module:Parametry");
local kod_projektu=frame.args["kod projektu "..i] or pf.args["kod projektu "..i]
return ((kod_projektu)and(kod_projektu~=""))and mw.text.trim(kod_projektu) or ((parametry_modul.CzyTak(wartosc_domyslna))and wartosc_domyslna or nil);
end;
end
function p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local pf=frame.getParent and frame:getParent() or {args={}};
local klucz_projektu;
local function domyslne_klucz(klucz_projektu)
local parametry_modul=require("Module:Parametry");
return ((klucz_projektu)and(klucz_projektu~=""))and mw.text.trim(klucz_projektu)or((parametry_modul.CzyTak(wartosc_domyslna_jezyka)and(parametry_modul.CzyTak(wartosc_domyslna_projektu)))and (wartosc_domyslna_jezyka..":" ..wartosc_domyslna_projektu)or(parametry_modul.CzyTak(wartosc_domyslna_jezyka) and wartosc_domyslna_jezyka or (parametry_modul.CzyTak(wartosc_domyslna_projektu) and wartosc_domyslna_projektu or nil)));
end;
if(i==0)then
return nil;
elseif(i==1)then
local klucz_projektu=frame.args["klucz projektu"] or frame.args["klucz projektu 1"] or pf.args["klucz projektu"] or pf.args["klucz projektu 1"];
return domyslne_klucz(klucz_projektu);
elseif(i>1)then
local klucz_projektu=frame.args["klucz projektu "..i] or pf.args["klucz projektu "..i];
return domyslne_klucz(klucz_projektu);
end;
end;
function p.Wikikody_kontenera(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu)
local wiki_modul=require("Module:Wiki");
local kod_jezyka,kod_projektu=wiki_modul.KodyWiki(p.Klucz_projektu(frame,i,wartosc_domyslna_jezyka,wartosc_domyslna_projektu),p.Kod_jezyka(frame,i,wartosc_domyslna_jezyka),p.Kod_projektu(frame,i,wartosc_domyslna_projektu));
return kod_jezyka,kod_projektu;
end;
function p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,args,bez_analizy)
if(not bez_analizy)then
local parametry_modul=require("Module:Parametry");
if((((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł")or(typ=="podręcznik")))or (typ=="artykuł")))then
return "";
elseif(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci")))or(typ=="artykuł dla dzieci"))then
return "Wikijunior";
elseif((not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"]))
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki brudnopisu projektu"])and (typ=="podręcznik brudnopisu projektu" or typ=="artykuł brudnopisu projektu")or (typ=="jednostka brudnopisu projektu")) or (typ=="strona brudnopisu projektu"))or(typ=="strona projektu"))or (typ=="strona projektu"))then
return "Project";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona szablonu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))or(typ=="strona brudnopisu szablonu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"])
and not parametry_modul.CzyTak(args["obsługiwane nieudokumentowane szablony jako szablony"]))
and((typ=="strona szablonu")or(typ=="strona opisu szablonu"))or(typ=="strona szablonu"))))then
return "Template";
elseif((parametry_modul.CzyTak(args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))and (typ=="strona modułu")
or(not parametry_modul.CzyTak(args["obsługiwane brudnopisy jako normalne strony"])
and((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))or(typ=="strona brudnopisu modułu"))
or((not parametry_modul.CzyTak(args["obsługiwane opisy jako strony jednostek programowych"])
and not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))
and((typ=="strona modułu")or(typ=="strona opisu modułu"))or(typ=="strona modułu"))))then
return "Module";
elseif(not parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika jako normalne strony"])
and(((not parametry_modul.CzyTak(args["obsługiwane jednostki jako nieopisowe strony"]))and(parametry_modul.CzyTak(args["obsługiwane jednostki użytkownika"])and (typ=="podręcznik użytkownika" or typ=="artykuł użytkownika") or (typ=="jednostka użytkownika")) or (typ=="strona użytkownika"))or(typ=="strona główna użytkownika"))or(typ=="strona użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
return;
end;
if(typ)then
if((typ=="artykuł")or(typ=="podręcznik"))then
return "";
elseif((typ=="artykuł dla dzieci")or(typ=="podręcznik dla dzieci"))then
return "Wikijunior";
elseif((typ=="podręcznik brudnopisu projektu")or(typ=="artykuł brudnopisu projektu")or(typ=="jednostka brudnopisu projektu")or(typ=="strona brudnopisu projektu")or(typ=="strona projektu"))then
return "Project";
elseif((typ=="strona szablonu")or(typ=="strona opisu szablonu")or(typ=="strona brudnopisu szablonu")or(typ=="strona brudnopisu opisu szablonu"))then
return "Template";
elseif((typ=="strona modułu")or(typ=="strona opisu modułu")or(typ=="strona brudnopisu modułu")or(typ=="strona brudnopisu opisu modułu"))then
return "Module";
elseif((typ=="podręcznik użytkownika")or(typ=="artykuł użytkownika")or(typ=="jednostka użytkownika")or(typ=="strona użytkownika")or(typ=="strona główna użytkownika"))then
return "User";
elseif(typ=="strona pliku")then
return "File";
elseif(typ=="strona kategorii")then
return "Category";
elseif(typ=="strona pomocy")then
return "Help";
elseif(typ=="strona komunikatu")then
return "MediaWiki";
elseif(typ=="strona specjalna")then
return "Special";
elseif(typ=="strona gadżetu")then
return "Gadget";
elseif(typ=="strona główna projektu")then
return "Project";
elseif(typ=="strona główna dla dzieci")then
return "Wikijunior";
end;
end;
end;
function p.Typ_jednostki_uzyskany_z_frame(frame,i)
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local pf=frame.getParent and frame:getParent() or {args={}};
local typ;
if liczba_numer_jednostki~=0 then
typ=liczba_numer_jednostki
and(
(frame.args["typ jednostki "..liczba_numer_jednostki] or frame.args["typ jednostki i"])
or (pf.args["typ jednostki "..liczba_numer_jednostki] or pf.args["typ jednostki i"])
);
if(not typ)then
local nazwa_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,2);
if(nazwa_jednostki)then
if(not mw.ustring.match(mw.text.trim(nazwa_jednostki),"^:"))then
local nazwa_przesrzeni_nazw=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki,1);
if(not nazwa_przesrzeni_nazw)then
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
end;
end;
end;
else
typ=frame.args["typ jednostki"] or pf.args["typ jednostki"];
end;
return typ,liczba_numer_jednostki;
end;
function p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i)
local typ,liczba_numer_jednostki,ile_dyskusja=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local pf=frame.getParent and frame:getParent() or {args={},};
local function FuncTemp(liczba_numer_jednostki)
local dyskusja_parametr="dyskusja typu jednostki";
if(liczba_numer_jednostki==0)then
return frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr];
else
return ((frame.args[dyskusja_parametr.." "..liczba_numer_jednostki] or pf.args[dyskusja_parametr.." "..liczba_numer_jednostki])
or (frame.args[dyskusja_parametr.." i"] or pf.args[dyskusja_parametr.." i"])
or(frame.args[dyskusja_parametr] or pf.args[dyskusja_parametr]));
end;
end;
local czy_dyskusja=FuncTemp(liczba_numer_jednostki);
local parametry_modul=require("Module:Parametry");
local czy_dyskusja=parametry_modul.CzyTak(czy_dyskusja);
return czy_dyskusja;
end;
function p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i)
local typ=p.Typ_jednostki_uzyskany_z_frame(frame,i);
if(typ)then
local typ,ile=mw.ustring.gsub(typ,"^(%S+)(%s+)(dyskusji)",function(strona,spacja,dyskusji)return strona;end);
local nazwa_przestrzeni_nazw=p.Nazwa_przestrzeni_nazw_od_typu_jednostki(typ,nil,true);
if(nazwa_przestrzeni_nazw)then
local czy_dyskusja=p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i);
if((czy_dyskusja)or(ile>0))then
if(nazwa_przestrzeni_nazw=="")then
return "Talk";
else
return nazwa_przestrzeni_nazw.." talk";
end;
else
return nazwa_przestrzeni_nazw;
end;
else
return nil;
end;
end;
return nil;
end;
function p.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i,numer_argorytmu)
local parametry_modul=require("Module:Parametry");
local analiza=parametry_modul.CzyTak(frame.args["analiza"]);
local typ,liczba_numer_jednostki=p.Typ_jednostki_uzyskany_z_frame(frame,i);
local uzyskana_przestrzen_nazw_od_typu_jednostki;
local nazwa_przestrzeni_nazw_podana,nazwa_jednostki_podana=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,liczba_numer_jednostki);
local function TempFunc(typ_jednostki,nazwa_przestrzeni_nazw)
if(
(kod_liczbowy_przestrzeni_nazw==2)
or(
(kod_liczbowy_przestrzeni_nazw==0)
and(
typ and (p.Czy_dyskusja_typu_jednostki_z_frame_od_dyskusja_typu_jednostki(frame,i))
or(
(nazwa_przestrzeni_nazw)
and (mw.ustring.match(nazwa_przestrzeni_nazw,"^Talk$") or mw.ustring.match(nazwa_przestrzeni_nazw," talk$"))
or nil
)
)
)
)then
if(not mw.ustring.match(typ_jednostki,"^(%S+)(%s+)(dyskusji)"))then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)",function(strona)
return strona.." dyskusji";
end);
end;
return typ_jednostki;
elseif(kod_liczbowy_przestrzeni_nazw==1)then
typ_jednostki,ile=mw.ustring.gsub(typ_jednostki,"^(%S+)(%s+)(dyskusji)",function(strona,spacje,dyskusji)
return strona;
end);
return typ_jednostki;
end;
return typ_jednostki;
end;
if((not analiza)and(typ))then
if(typ~="")then
uzyskana_przestrzen_nazw_od_typu_jednostki=p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,i);
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((not nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
return TempFunc(typ,nil);
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local nazwa_przestrzeni_nazw,nazwa_jednostki=p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,liczba_numer_jednostki,numer_argorytmu);
local nazwy_modul=require("Module:Nazwy");
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then return "(błąd nazwy przestrzeni nazw)";end;
nazwa_przestrzeni_nazw=czy_blad_nazwa_przestrzeni_nazw;
---
---
if((not analiza)and(typ))then
if(typ~="")then
---typ jednostki
if(uzyskana_przestrzen_nazw_od_typu_jednostki)then
if((nazwa_przestrzeni_nazw_podana)and(not nazwa_jednostki_podana))then
if(uzyskana_przestrzen_nazw_od_typu_jednostki==nazwa_przestrzeni_nazw)then
return typ;
else
return "(błąd niezgodności)";
end;
end;
else
return "(błąd typu jednostki)";
end;
end;
end;
local function Typ_jednostki()
if(nazwa_jednostki~="")then
--local kod_jezyka,kod_projektu=KodyWikiPudelka(frame,liczba_numer_jednostki);
--local klucz_projektu=kod_projektu..":"..kod_jezyka;
local pudelko_modul=require("Module:Pudełko");
local pelna_nazwa_strony=((nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki;
if(pudelko_modul.CzyNiepoprawnaNazwa(pelna_nazwa_strony))then return "(błąd nazwy jednostki)";end;
local nazwy_modul=require("Module:Nazwy")
pelna_nazwa_strony=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local norm_przed_lub_dyskusji=p.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(nazwa_przestrzeni_nazw,1,kod_jezyka,kod_projektu);
if(kod_projektu==pudelko_modul["Kod projektu tego projektu"]())then
local nazwa_strony_glownej_dla_dzieci_ze_zmiennej=p.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka);
if(nazwa_strony_glownej_dla_dzieci_ze_zmiennej=="")then return "(błąd nazwy strony głównej dla dzieci)";end;
local nazwa_strony_glownej_wikijuniora=p.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka);
local nazwa_strony_glownej_dla_dzieci_uzyskana=(not nazwa_strony_glownej_dla_dzieci_ze_zmiennej)and nazwa_strony_glownej_wikijuniora or nazwa_strony_glownej_dla_dzieci_ze_zmiennej;
if(nazwa_strony_glownej_dla_dzieci_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_dla_dzieci_uzyskana))then return "(błąd nazwy strony głównej dla dzieci)";end;
nazwa_strony_glownej_dla_dzieci_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_dla_dzieci_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_dla_dzieci_uzyskana)then return "strona główna dla dzieci";end;
end;
end;
local nazwa_strony_glownej_projektu_ze_zmiennej=p.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,liczba_numer_jednostki,kod_jezyka,kod_projektu);
if(nazwa_strony_glownej_projektu_ze_zmiennej=="")then return "(błąd nazwy strony głównej projektu)";end;
local nazwa_strony_glownej_projektu_z_wikidanych=p.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_uzyskana=(not nazwa_strony_glownej_projektu_ze_zmiennej)and nazwa_strony_glownej_projektu_z_wikidanych or nazwa_strony_glownej_projektu_ze_zmiennej;
if(nazwa_strony_glownej_projektu_uzyskana)then
if(pudelko_modul.CzyNiepoprawnaNazwa(nazwa_strony_glownej_projektu_uzyskana))then return "(błąd nazwy strony głównej projektu)";end;
nazwa_strony_glownej_projektu_uzyskana=nazwy_modul["PEŁNANAZWASTRONY"]{[1]=nazwa_strony_glownej_projektu_uzyskana,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(pelna_nazwa_strony==nazwa_strony_glownej_projektu_uzyskana)then return "strona główna projektu";end;
end;
if(norm_przed_lub_dyskusji=="")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik";else return "artykuł";end;
end;
elseif(norm_przed_lub_dyskusji=="Wikijunior")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "artykuł dla dzieci";
else
local it=mw.ustring.match(nazwa_jednostki,"^[^/]+$");
if(it)then return "podręcznik dla dzieci";else return "artykuł dla dzieci";end;
end;
elseif(norm_przed_lub_dyskusji=="User")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane indywidua użytkownika jako normalne strony"]))then
return "strona użytkownika";
else
local czy_podstrony=mw.ustring.match(nazwa_jednostki,"^[^/]+$")
if(czy_podstrony)then
return "strona główna użytkownika";
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki użytkownika"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^[^/]+/[^/]*$");
if(czy_ksiazka)then
return "podręcznik użytkownika";
else
return "artykuł użytkownika";
end;
else
return "jednostka użytkownika";
end;
else
return "strona użytkownika";
end;
end;
end;
elseif(norm_przed_lub_dyskusji=="File")then return "strona pliku";
elseif(norm_przed_lub_dyskusji=="Category")then return "strona kategorii";
elseif(norm_przed_lub_dyskusji=="Project")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))then return "strona projektu";end;
if(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*"))then
if(not parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
if(parametry_modul.CzyTak(frame.args["obsługiwane jednostki brudnopisu projektu"]))then
local czy_ksiazka=mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/[^/]*$");
if(czy_ksiazka)then
return "podręcznik brudnopisu projektu";
else
return "artykuł brudnopisu projektu";
end;
else
return "jednostka brudnopisu projektu";
end;
else
return "strona brudnopisu projektu";
end;
else
return "strona projektu";
end;
elseif(norm_przed_lub_dyskusji=="Help")then return "strona pomocy";
elseif(norm_przed_lub_dyskusji=="MediaWiki")then return "strona komunikatu";
elseif(norm_przed_lub_dyskusji=="Special")then return "strona specialna";
elseif(norm_przed_lub_dyskusji=="Gadget")then return "strona gadżetu";
elseif(norm_przed_lub_dyskusji=="Template")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona szablonu";end;
local function CzySzablonAlboOpis(nazwa_przestrzeni_nazw,nazwa_jednostki,szablon,opis_szablonu,strona_szablonu,prefix)
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return szablon;
else
if(mw.ustring.match(nazwa_jednostki,"^"..prefix..".*/opis$"))then
return opis_szablonu;
else
if(not parametry_modul.CzyTak(frame.args["obsługiwane nieudokumentowane szablony jako szablony"]))then
local czy_brudnopis=mw.ustring.match(nazwa_jednostki,"^"..prefix..".*$");
if(czy_brudnopis)then
local pagename=(nazwa_przestrzeni_nazw~="")and nazwa_przestrzeni_nazw..":"..nazwa_jednostki or nazwa_jednostki;
local czy_istnieje_strona,tab=require("Module:Techniczne").PoliczZbiory(pagename);
if(czy_istnieje_strona==1)then
local czy_brudnopis_opisu_szablonu=require("Module:Łatki").contentMatch{
[1]='<noinclude>.-{{%s*[Dd]okumentacja%s*}}.-</noinclude>',
[2]='<noinclude>.-{{%s*[Dd]okumentacja%s*|.-</noinclude>',pagename=pagename,namespace=0
};
if(not czy_brudnopis_opisu_szablonu)then return opis_szablonu;else return szablon;end;
else
return szablon;
end;
else
return strona_szablonu;
end;
else
return szablon;
end;
end;
end;
end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona brudnopisu szablonu","strona brudnopisu opisu szablonu","strona szablonu","[Bb]rudnopis/[^/]*/");
else
return CzySzablonAlboOpis(norm_przed_lub_dyskusji,nazwa_jednostki,"strona szablonu","strona opisu szablonu","strona szablonu","");
end;
elseif(norm_przed_lub_dyskusji=="Module")then
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(frame.args["obsługiwane strony jako niebrudnopisowe jednostki programowe"]))then return "strona modułu";end;
if((not parametry_modul.CzyTak(frame.args["obsługiwane brudnopisy jako normalne strony"]))and(mw.ustring.match(nazwa_jednostki,"^%s*[Bb]rudnopis/[^/]*/.*")))then
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona brudnopisu modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_strony_brudnopisu_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_strony_brudnopisu_opisu_modulu)then
return "strona brudnopisu opisu modułu";
else
return "strona brudnopisu modułu";
end;
end;
else
if(parametry_modul.CzyTak(frame.args["obsługiwane opisy jako strony jednostek programowych"])
or parametry_modul.CzyTak(frame.args["obsługiwane jednostki jako nieopisowe strony"]))then
return "strona modułu"
else
local pelna_nazwa_strony=(norm_przed_lub_dyskusji~="")and norm_przed_lub_dyskusji..":"..nazwa_jednostki or nazwa_jednostki;
pelna_nazwa_strony=require("Module:Nazwy")["PEŁNANAZWASTRONY"]{[1]=pelna_nazwa_strony,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local pelna_nazwa_opisu_modulu=require("Module:Techniczne")["PełnaNazwaOpisuModułu"](pelna_nazwa_strony);
if(pelna_nazwa_strony==pelna_nazwa_opisu_modulu)then
return "strona opisu modułu";
else
return "strona modułu";
end;
end;
end;
else return "inne";
end;
end;
return "inne";
end;
local typ_jednostki=Typ_jednostki();
if(((analiza)or(nazwa_jednostki_podana))and(typ)and(typ~=""))then
typ_jednostki=TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
if(typ_jednostki==typ)then
return typ_jednostki;
elseif(nazwa_jednostki_podana)then
return "(błąd parametrów pudełkowych)"
else
return "(błąd typu jednostki)";
end;
end;
return TempFunc(typ_jednostki,nazwa_przestrzeni_nazw);
end;
function p.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki,czy_uwzglednic_alternatywna_nazwe,i,numer_argorytmu,co_ma_liczyc)
local nazwa_przestrzeni_fun,nazwa_jednostki_fun;
if(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==0)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==1)then
nazwa_przestrzeni_fun="Nazwa przedmiotowej przestrzeni nazw";
nazwa_jednostki_fun="Nazwa przedmiotowa jednostki";
elseif(kod_liczbowy_przestrzeni_nazw_i_nazwy_jednostki==2)then
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw dyskusji"
nazwa_jednostki_fun="Nazwa dyskusji jednostki";
else
nazwa_przestrzeni_fun="Nazwa przestrzeni nazw";
nazwa_jednostki_fun="Nazwa jednostki";
end;
local pudelko_modul=require("Module:Pudełko");
if(not numer_argorytmu)then
local function TempFunc()
return ((not i)or(i==0));
end;
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=(czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local czy_i_0=TempFunc();
local nazwa_przestrzeni_nazw=(czy_i_0)
and pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i)
or pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
local czy_i_0=TempFunc();
return (czy_i_0)and pudelko_modul["Nazwa jednostki"](frame,i) or pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
else
if(numer_argorytmu==0)then
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul["Nazwa jednostki"](frame,i);
end;
else
if((not co_ma_liczyc)or(co_ma_liczyc==0))then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
local nazwa_jednostki=pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
return nazwa_przestrzeni_nazw,nazwa_jednostki;
elseif(co_ma_liczyc==1)then
local nazwa_przestrzeni_nazw=pudelko_modul[nazwa_przestrzeni_fun.." 2"](frame,czy_uwzglednic_alternatywna_nazwe,i);
return nazwa_przestrzeni_nazw;
elseif(co_ma_liczyc==2)then
return pudelko_modul[nazwa_jednostki_fun.." 2"](frame,i);
end;
end;
end;
end;
function p.Nazwa_przestrzeni_nazw_dodatkowe(frame,numer_jednostki)
local pf=frame.getParent and frame:getParent() or {args={}};
return frame.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)] or pf.args["nazwa przestrzeni nazw "..tostring(numer_jednostki)]
end;
function p.Nazwa_jednostki(frame,i)
local pf=frame.getParent and frame:getParent() or {args={}};
local nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,2);
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
if(nazwa_jednostki)then
nazwa_jednostki=mw.text.trim(nazwa_jednostki);
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^:","");
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1");
local parametry=mw.ustring.match(nazwa_jednostki,"^.*%?([^%?]+)$");
if(parametry and mw.ustring.match(parametry,"[^=]+=[^=]*"))then
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.*)%?([^%?]+)$","%1");
end;
else
local nazwy_modul=require("Module:Nazwy");
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
end;
function p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i,co_podac)
local pf=frame.getParent and frame:getParent() or {args={}};
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=tonumber(numer_jednostki) or 0;
local nazwa_jednostki;
local bool_numer_jednostki=(liczba_numer_jednostki~=0);
local function Nazwa_jednostki()
if bool_numer_jednostki then
nazwa_jednostki=(
frame.args["nazwa jednostki "..liczba_numer_jednostki]
or pf.args["nazwa jednostki "..liczba_numer_jednostki]
)
or ((liczba_numer_jednostki==1)and(pf.args["cel"])) or pf.args[liczba_numer_jednostki];
else
nazwa_jednostki=frame.args["nazwa jednostki"] or pf.args["nazwa jednostki"];
end;
return nazwa_jednostki;
end;
local function Nazwa_przestrzeni_nazw()
local nazwa_przestrzeni_nazw=bool_numer_jednostki and (frame.args["nazwa przestrzeni nazw i"] or pf.args["nazwa przestrzeni nazw i"] or frame.args["nazwa przestrzeni nazw "..liczba_numer_jednostki] or pf.args["nazwa przestrzeni nazw "..liczba_numer_jednostki])
or frame.args["nazwa przestrzeni nazw"] or pf.args["nazwa przestrzeni nazw"];
return nazwa_przestrzeni_nazw;
end;
if(not co_podac)then
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
elseif(co_podac==1)then
return Nazwa_przestrzeni_nazw(),liczba_numer_jednostki;
elseif(co_podac==2)then
return Nazwa_jednostki(),liczba_numer_jednostki;
else
return Nazwa_przestrzeni_nazw(),Nazwa_jednostki(),liczba_numer_jednostki;
end;
end;
function p.Jaka_nazwa_jednostki(frame,i,jaka)
local nazwa_przestrzeni_nazw,nazwa_jednostki,liczba_numer_jednostki=p.Nazwy_przestrzeni_i_jednostki_podane_o_pewnym_numerze(frame,i);
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw or p.Nazwa_przestrzeni_nazw_uzyskana_z_typu_jednostki_z_frame(frame,liczba_numer_jednostki);
----
local nazwy_modul=require("Module:Nazwy");
nazwa_przestrzeni_nazw=nazwa_przestrzeni_nazw and mw.text.trim(nazwa_przestrzeni_nazw) or nazwy_modul["NAZWAPRZESTRZENI"]();
if(nazwa_jednostki)then
local html_modul=require("Module:Html");
nazwa_jednostki=html_modul["NazwaStronyAdresu"](nazwa_jednostki,true);
else
nazwa_jednostki=nazwy_modul["NAZWASTRONY"]();
end;
local kod_jezyka,kod_projektu=p.Wikikody_kontenera(frame,liczba_numer_jednostki);
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka)then
if(czy_biezaca)then
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.Np(tab_parametry);
else
local tab_parametry={nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(jaka=="przedmiotowa")then tab_parametry["przedmiotowa"]="tak";end;
nazwa_przestrzeni_nazw=nazwy_modul.NpDane(tab_parametry);
end;
else
if(czy_biezaca)then
nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw};
else
nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
if(not mw.ustring.match(nazwa_jednostki,"^:"))then
if(nazwa_przestrzeni_nazw~="")then
if((not typ)or(typ=="przedmiotowa"))then
if(czy_biezaca)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if(nazwa_przestrzeni_nazw==nazwy_np_modul.Template)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Template)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
elseif(nazwa_przestrzeni_nazw==nazwy_np_modul.Module)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_jednostki);
if(nazwa_przestrzeni_nazw_d==nazwy_np_modul.Module)then
return nazwy_modul["NAZWASTRONY"](nazwa_jednostki);
end;
end;
else
local template_prze=nazwy_modul.NpDane{nazwa="Template",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local module_prze=nazwy_modul.NpDane{nazwa="Module",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw==template_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==template_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
elseif(nazwa_przestrzeni_nazw==module_prze)then
local nazwa_przestrzeni_nazw_d=nazwy_modul["NAZWAPRZESTRZENI"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nazwa_przestrzeni_nazw_d==module_prze)then
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
end;
end;
local parametry_modul=require("Module:Parametry");
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",};
return mw.getContentLanguage():ucfirst(nazwa_jednostki);
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
else
return nazwy_modul["NAZWASTRONY"]{[1]=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
end;
function p.Czy_przestrzen_nazw_jest_obslugiwana(frame,jakas_przestrzen_nazw,kod_jezyka,kod_projektu)
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(czy_biezaca)then
jakas_przestrzen_nazw=nazwy_modul.Np{nazwa=jakas_przestrzen_nazw};
else
jakas_przestrzen_nazw=nazwy_modul.NpDane{nazwa=jakas_przestrzen_nazw,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
local function nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_iter)
if(czy_biezaca)then
nazwa_przestrzeni_nazw_iter=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw_iter};
else
nazwa_przestrzeni_nazw_iter=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw_iter,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
end;
if(jakas_przestrzen_nazw==nazwa_przestrzeni_nazw_iter)then
return true;
end;
return false;
end;
for licznik,nazwa_przestrzeni_nazw in pairs(frame.args)do
if(type(licznik)=="number")then
local nazwa_przestrzeni_nazw_element,klucze_element=mw.ustring.match(nazwa_przestrzeni_nazw,"^%s*([%w%s]*)%s*:%s*(.-)%s*");
if(nazwa_przestrzeni_nazw_element and klucze_element)then
local tab_klucze=mw.text.split(klucze_element,"%s*,%s*",false);
local wiki_modul=require("Module:Wiki");
for _,klucz_element in ipairs(tab_klucze)do
local kod_jezyka_obslugiwane,kod_projektu_obslugiwane=wiki_modul.KluczProjektu(klucz_element);
if(kod_jezyka_obslugiwane==kod_jezyka and kod_projektu_obslugiwane==kod_projektu)then
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw_element);
if(wynik)then return true;end;
end;
end;
else
local wynik=nazwa_przestrzeni_nazw_fun(nazwa_przestrzeni_nazw);
if(wynik)then return true;end;
end;
end;
end;
return false;
end;
function p.Analiza_interwiki_czy_projekt_aktualny(frame,czy_jezyk,czy_projekt)
local parametry_modul=require("Module:Parametry");
local p=parametry_modul.PobierzFrameEwentualnieParent(frame);
local pudelko_modul=require("Module:Pudełko");
local wiki_modul=require("Module:Wiki");
local jezyk_biezacy=czy_jezyk and pudelko_modul["Kod języka tego projektu"]();
local projekt_biezacy=czy_projekt and pudelko_modul["Kod projektu tego projektu"]();
for i,_ in pairs(p.args)do
if(type(i)=="number")then
local klucz_projektu=pudelko_modul["Klucz projektu"](frame,i);
local kod_jezyka=pudelko_modul["Kod języka"](frame,i);
local kod_projektu=pudelko_modul["kod projektu"](frame,i);
local jezyk,projekt=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu);
if((czy_jezyk and (jezyk~=jezyk_biezacy))or(czy_projekt and(projekt~=projekt_biezacy)))then
return "tak";
end;
end;
end;
return;
end;
return p;
c0k763w79c4vmwkjtwufoi8pkxm0bgh
Wolna przedsiębiorczość/Rzadkość i koszt alternatywny
0
57472
540869
532879
2026-04-26T17:22:58Z
Marek Mazurkiewicz
8990
redakcyjne
540869
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* dlaczego kwestia rzadkości zasobów jest punktem wyjścia dla nauki ekonomii,
* dlaczego wybór jest nieodłącznym elementem środowiska opisywanego przez ekonomię,
* dlaczego każdy człowiek zawsze ponosi koszty swoich działań, bez względu na grubość portfela,
* dlaczego na koszty można patrzeć nie tylko przeszłościowo, ale i przyszłościowo.
Najważniejsze pojęcia:
* rzadkość, wybór, koszt alternatywny
== Wybór i rzadkość ==
Ekonomia opisuje wybory i ich konsekwencje, dlatego warto zacząć od tego, skąd właściwie bierze się konieczność wybierania. Podstawową przyczyną tej konieczności jest rzadkość. To techniczny termin, którym w podręcznikach określa się „fakt istnienia nieograniczoności potrzeb oraz ograniczoności zasobów”. Krótko mówiąc, chodzi o to, że człowiek ma bardzo wiele potrzeb, które chciałby zaspokoić. Nie posiada natomiast dostatecznie dużej ilości środków, by móc tego dokonać. Gdybyśmy mieli stworzyć listę potrzeb człowieka, to tak naprawdę nigdy nie miałaby ona końca. Nawet jeśli uda nam się zrealizować ich bardzo wiele, czy jeśli mamy na ten cel mnóstwo środków, zawsze będziemy sobie stawiać kolejne cele – takie jak choćby pływanie w basenie, leniuchowanie na materacu i popijanie oranżady.
Niektórym oczywiście powodzi się lepiej i są w stanie osiągnąć dużo więcej, gdyż mają dostęp do większej ilości dóbr. Dobra te rozumie się jako środki, które mogą być wykorzystane do zaspokojenia potrzeb. Ludzie bogatsi mogą sobie pozwolić na znacznie bardziej rozwiniętą działalność niż biedni. Ale nawet najbogatszy człowiek świata nie może zrealizować wszystkich swoich planów (np. dotyczących inwestycji). On także musi wybierać, choć inaczej niż osoba uboga.
== Rzadkość i koszt alternatywny ==
Rzadkość najłatwiej zauważyć, zaglądając do portfela. Nie możemy kupić wszystkiego, czego tylko zapragniemy. Musimy się zdecydować, czy wolimy popcorn, czy ciasto. Takie dobra, których zasoby są ograniczone, nazywa się dobrami rzadkimi. Ich przeciwieństwem są dobra wolne, np. powietrze. Rzadki jest również wspomniany w poprzednim rozdziale czas. W przeciwieństwie do Agenta Smitha z filmu Matrix nie występujemy w nieskończonej liczbie kopii. Każdy i każda z nas jest tym jedynym unikatowym egzemplarzem. A że nie mamy zdolności bilokacyjnych, czyli zdolności pojawiania się w kilku miejscach naraz (choć niektórych ludzi się o to podejrzewa), musimy wybierać, gdzie w danej chwili się znajdziemy. Dlatego nie możemy w tym samym czasie robić wszystkiego. Nawet jeśli potrafimy robić kilka rzeczy w tym samym czasie, to mamy swoje ograniczenia, przed którymi nie da się uciec.
== Koszt alter natywny ==
Perspektywa wyboru stawia przed nami wyzwania, ale są to zawsze wyzwania dotyczące przyszłości, a nie przeszłości. Oznacza to, że kiedy podejmujemy decyzję, najistotniejsze są możliwe przyszłe scenariusze. Dlatego też ekonomiści stworzyli pojęcie kosztu alternatywnego (kosztu utraconych możliwości). Zazwyczaj kiedy mówimy o jakichś kosztach, mamy na myśli koszty przeszłe, które już wystąpiły (nie tylko pieniężne). Mówimy na przykład, że pewne zadanie wymagało od nas poświęcenia wielu godzin pracy albo że na daną inwestycję przeznaczyliśmy duże sumy pieniędzy. Jednakże oglądanie się na przeszłość nie zmieni wachlarza przyszłych możliwości stojących przed nami.
Koszt alternatywny występuje przy każdym wyborze, który podejmujemy. Załóżmy, że na ten sam wieczór dostaliśmy dwa zaproszenia od znajomych. Jedni chcą, aby pójść z nimi na mecz piłkarski, a drudzy planują wyjście do kina na komedię romantyczną. Opcja, z której zrezygnujemy – „druga najlepsza możliwość działania” – to właśnie nasz koszt alternatywny. Jeśli pójdziemy na mecz, to zrobimy to kosztem rezygnacji z wyjścia do kina. Jeśli pójdziemy do kina, to nie zobaczymy meczu. Z każdorazowym wydaniem pieniędzy wiąże się koszt, ponieważ nie możemy ich przez to wydać na coś innego, czego również pragniemy. Dotyczy to zarówno poziomu indywidualnego, czyli pojedynczej osoby, jak i całej rodziny czy większych podmiotów gospodarczych, na przykład przedsiębiorstw i państw.
Wydatki pieniężne, czyli to, co jest za pieniądze kupowane, zobaczyć łatwo. Trudniej jednak będzie z kosztem alternatywnym, a więc ceną, jaką płacimy za zrealizowane wydatki. Przykładowo, państwo może zwiększyć swoje wydatki i zatrudnić więcej urzędników w administracji, ale ta decyzja będzie miała swój koszt alternatywny: część środków zostanie przekazana z pozostałych sektorów gospodarki, przez co zmaleją tam wydatki i zatrudnienie.
W naszym codziennym życiu wszystko jest rzadkie, począwszy od naszego czasu, a skończywszy na pieniądzach i środkach materialnych. Z powodu tej rzadkości musimy wybierać przeznaczenie dla zasobów. Nie możemy ich po-
święcić na wszystko, co sobie wymarzymy. Z wyborem zaś wiążą się koszty alternatywne - zawsze istnieje alternatywa dla sposobu wydania pieniędzy, czyli inna opcja ich wykorzystania. Dlatego każda decyzja jest kosztowna w tym sensie, że wiąże się z poniesieniem kosztu alternatywnego: wydając pieniądze
na nową powieść ulubionej autorki, rezygnujemy tym samym z zakupienia za nie biletu do teatru. Wyjeżdżając na narty w góry w Czechach, pozbawiamy się możliwości opalania w tym samym czasie nad polskim morzem.
Dylemat polegający na konieczności wyboru towarzyszy każdej naszej decyzji – nie tylko wąsko rozumianej decyzji ekonomicznej, ale dowolnej innej, na przykład dotyczącej życia osobistego. Wybór jest tym, co
świadczy o naszej wyjątkowości. Pozwala na budowanie własnego miejsca w społeczności, życiu gospodarczym, na działanie dla osobistej satysfakcji i szczęścia. Tej indywidualności nie da się żadnemu i żadnej z nas odebrać. Koncepcja kosztu alternatywnego może ci pozwolić myśleć przyszłościowo o swoim życiu i inwestycjach. Wyobraź sobie, że masz monety kolekcjonerskie, których wartość wynosi 100 złotych. Czy decyzja
o tym, czy sprzedać je teraz, czy zatrzymać, powinna zależeć od tego, za ile kupiłeś je rok temu? Załóżmy, że w jednym wariancie kupiłeś je za 50 złotych, a w innym za 200 złotych. Czy powinno to wpływać na
decyzję, co zrobić z monetami?
== Wpływ przeszłości na wybór ==
Istnienie kosztu alternatywnego – dotyczącego bieżącego wyboru i przyszłości – nie oznacza oczywiście, że przeszłość w ogóle nie ma dla nas znaczenia. Ma znaczenie, ponieważ decyduje o tym, dlaczego znajdujemy się
w miejscu, w którym jesteśmy. Zdarza się, że przeszłość jest w naszym życiu czymś szczególnym i motywującym. Wspomnienia i zdobyte doświadczenia mogą nas kierować ku różnym wyborom, na które w przeciwnym razie moglibyśmy się nie zdecydować.
Wyobraźmy sobie, że odziedziczyliśmy restaurację, która nie przynosi wystarczających dochodów. Gdyby interesowała nas sama wartość pieniężna, moglibyśmy zdecydować się na jej sprzedaż, ponieważ tak wynikałoby
z naszych kalkulacji. Myśląc przyszłościowo, ocenilibyśmy koszt alternatywny: albo ją sprzedajemy i uzyskujemy kapitał, albo nadal do niej dopłacamy; w tym przypadku przeszłość zostałaby uznana za nieistotną. Na naszą decyzję mogą jednak wpłynąć dotychczasowe doświadczenia. Świadomość, że restauracja ta stanowi rodzinne dziedzictwo, oraz sentyment do niej mogą nas powstrzymać przed taką decyzją. Dlatego w naszym subiektywnym koszcie alternatywnym jest miejsce na sentymenty i przekonania.
Czy decyzja o sprzedaży restauracji byłaby nierozsądna? Zdaniem jednej osoby mogłaby taka być, zdaniem innej – niekoniecznie. Każdy człowiek buduje swoją własną przyszłość, własne szczęście, własny ekonomiczny świat. Dla jednego człowieka prowadzenie restauracji byłoby nierozsądne, dla innego jak najbardziej uzasadnione.
Ekonomia jako nauka nie ma na celu wskazywania, które cele są rozsądne ani do jakich celów powinien dążyć człowiek. To zadanie należy do etyki i innych dyscyplin. Ekonomia zakłada tylko, że każdy człowiek wybiera te cele, których osiągnięcie może mu przynieść – jego zdaniem – jak największą satysfakcję.
== Pytania i zadania ==
# Wyjaśnij, dlaczego rzadkość uznaje się za punkt wyjścia ekonomii.
# Czym jest koszt alternatywny? Podaj przykłady.
# Wyjaśnij, dlaczego nawet najbogatszy człowiek na świecie zawsze ponosi koszty swoich działań.
# Czy przeszłe decyzje nie mają nigdy znaczenia dla naszych przyszłych decyzji? Uzasadnij odpowiedź.
# Czy przeszłe decyzje nie powinny mieć znaczenia dla naszych przyszłych decyzji? Uzasadnij odpowiedź.
# Czy zgadasz się ze stwierdzeniem: „rząd powinien dwukrotnie zwiększyć wydatki budżetowe, ponieważ dzięki temu wzrośnie aktywność gospodarcza i spadnie bezrobocie”? Uzasadnij odpowiedź.
<noinclude>
{{Nawigacja|Wolna przedsiębiorczość|[[../Ekonomia jako dziedzina życia/]]|[[../Produkcja i czynniki produkcji/]]}}
</noinclude>
6eifstswrzv6ei3yxul03tip9f6g04v
Wolna przedsiębiorczość/Produkcja i czynniki produkcji
0
57473
540872
485450
2026-04-26T17:28:55Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540872
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* jak klasyfikuje się czynniki produkcji,
* dlaczego podział czynników produkcji pojawił się w ekonomii i dlaczego współcześnie stracił na znaczeniu,
* czego dotyczy teoria dystrybucji (podziału) dochodu i dlaczego wzbudza kontrowersje,
* dlaczego dla wszystkich członków społeczeństwa ważne jest, by cała gospodarka się rozwijała,
* dlaczego najważniejszym czynnikiem produkcji jest przedsiębiorczość człowieka.
Najważniejsze pojęcia:
* czynniki produkcji, teoria dystrybucji, przedsiębiorczość
== Czynniki produkcji ==
W XIX wieku postrzegano produkcję jako projekt przeprowadzany przede wszystkim w wymiarze materialnym, a za czynniki produkcji uważano najczęściej przedmioty fizyczne i łączoną z nimi pracę. Na gruncie tego podejścia w historii myśli ekonomicznej pojawiła się słynna klasyfikacja czynników produkcji. Wyróżniono następujące czynniki: ziemię, pracę i kapitał – tzw. triadę czynników produkcji.
Ekonomia zaczęła się dynamicznie rozwijać jako samodzielna dyscyplina naukowa w czasach, gdy gospodarki zachodnie (głównie kraje europejskie na zachód od Łaby oraz Stany Zjednoczone i Kanada) doświadczały niespotykanego wcześniej wzrostu. Można było wówczas zaobserwować trzy grupy społeczne, które pełniły swoje ekonomiczne funkcje: kapitalistów, którzy posiadali fabryki z maszynami i innym wyposażeniem; pracowników, którzy wykonywali dla kapitalistów niezbyt złożoną i wielogodzinną pracę fizyczną, oraz właścicieli ziemskich, którzy od kapitalistów różnili się między innymi tym, że korzystali głównie ze zgromadzonych wcześniej majątków ziemskich. Taki podział na czynniki produkcji stał się czymś naturalnym, przede wszystkim z powodu sytuacji społecznej w tamtych czasach.
== Dystrybucja dochodu i harmonia interesów ==
Jednoczesne występowanie tych trzech grup społecznych zdawało się przekładać na sztywne ramy stosunków ekonomicznych. W związku z tym powstał nawet dział ekonomii zwany teorią dystrybucji, który wyjaśniał, jakie części całkowitego dochodu w gospodarce przypadają na poszczególne grupy. To z kolei otworzyło drogę do rozważań o rzekomych nieodłącznych konfliktach i walkach między właścicielami czynników produkcji (dzisiaj mówi się raczej o współpracy wszystkich czynników niż o walce). Takiemu podejściu sprzyjało zwłaszcza to, że aż do XVIII wieku gospodarka prawie się nie rozwijała. Całkowity dochód w społeczeństwie można było postrzegać jako tort, którego wielkość przez setki lat niemal się nie zmieniała. Główne zagadnienie teorii ekonomii zdawało się dotyczyć tego, w jaki sposób ten tort, czyli bogactwo, jest dzielony między ludzi. Jednak sztywny podział i rozważania na jego temat z czasem przestały odgrywać główną rolę, ponieważ kapitalistyczna organizacja produkcji doprowadziła do ogromnego wzrostu gospodarczego. W wyniku tzw. rewolucji przemysłowej na przełomie XVIII i XIX wieku oraz gwałtownego rozwoju gospodarki od tego czasu „tort” powiększył się kilkudziesięciokrotnie, na czym skrzętnie skorzystali przedstawiciele wszystkich „klas”. Produkcja przestała być postrzegana jako nierosnąca wielkość, o którą to czy się społeczna walka klas. Dostrzeżono bowiem, że interesy wszystkich klas są tak naprawdę zbieżne, bo na „wzroście” tortu może skorzystać każdy.
Przed rewolucją przemysłową przynależność do jednej z wymienionych wyżej trzech grup w większym stopniu przekładała się na sytuację materialną. Po latach rozwoju gospodarki ta zależność została znaczą-
co osłabiona. Praca coraz częściej przestawała być nieskomplikowaną i powtarzalną rutyną, zaś większą rolę zaczęły odgrywać talenty pracowników, ich wykształcenie i umiejętności. W efekcie w literaturze
ekonomicznej pojawiło się pojęcie kapitału ludzkiego, niejako czwartego czynnika produkcji. W dzisiejszej gospodarce znacznie większą rolę odgrywają usługi, a zatem wiedza i odpowiednie umiejętności.
Z tego powodu wielu wysoko wykwalifikowanych pracowników najemnych zarabia więcej od kapitalistów, do których zalicza się również indywidualnych inwestorów.
== Dobra kapitałowe ==
Gdy mówimy o kapitale, najczęściej chodzi nam o dobra kapitałowe, czyli przetworzone przez człowieka materialne zasoby, które służą do efektywnej produkcji. W przeciwieństwie do dóbr konsumpcyjnych, bez-
pośrednio zaspokajających nasze potrzeby, dobra kapitałowe umożliwiają nam produkcję – dlatego bywają one też nazywane dobrami pośrednimi.
Przykładowo, piec w piekarni to dobro kapitałowe (pośrednie), ponieważ nie służy bezpośredniemu zaspokojeniu potrzeb. Służy do wytwarzania innego dobra (chleba), które dopiero pozwoli na zaspokojenie potrzeby
(dobra konsumpcyjnego). Młotek, komputer, lampa, linia montażowa, koparka, żelazo, samochód, drukarka – to tylko kilka przykładów licznych dóbr kapitałowych, które umożliwiają nam produkcję. Co charakterystyczne, wytworzenie dóbr kapitałowych zabiera ludziom czas. Ludzie, by móc korzystać z dóbr
kapitałowych, muszą wcześniej podjąć decyzję o ich produkcji. Muszą zainwestować swój czas i środki w stworzenie czegoś, co nie daje od razu satysfakcji. Trudno przecież uznać, że linia montażowa bezpośrednio
realizuje jakiś cel, do którego dążą ludzie. Czyni to jedynie pośrednio, umożliwiając na przykład masową produkcję samochodów, które z kolei zaspokajają naszą potrzebę szybszego poruszania się.
== Przedsiębiorczość i zanik znaczenia podziału na czynniki produkcji ==
W ekonomii spotyka się pojęcie funkcji produkcji, w której czynniki produkcji traktuje się czasem jak składniki wrzucane razem w odpowiedniej proporcji do ziemi, z której potem wyrasta samoistnie roślina.
Analogicznie, w prostym opisie mówi się o czynnikach ekonomicznych „wrzucanych” do produkcji dóbr i usług. W tym ujęciu „wrzucamy” pracowników, maszyny, halę, komputery, a z czasem produkcja sama rośnie
niczym drzewko owocowe. W rzeczywistości jest to obraz bardzo uproszczony, czasami wręcz szkodliwy, ponieważ nie istnieje odgórny, najlepszy „przepis na produkcję”, podobny do instrukcji sadzenia roślin. Owszem, znamy technologię wytwarzania najróżniejszych dóbr, ale nigdy nie mamy pewności, jakich dóbr w danej chwili najbardziej potrzebują konsumenci. Dlatego decyzja o tym, co i jak produkować, jest zawsze swego
rodzaju eksperymentem, którego efektów nie da się do końca przewidzieć.
Diagram 1. Czynniki produkcji
Ziemia (i surowce)
Rutynowa
produkcja
Kapitał
Większa
i bardziej efektywna
produkcja
Praca
Przedsiębiorczość
Źródło: opracowanie własne.
W tym miejscu dochodzimy do najważniejszego elementu w procesie produkcji: przedsiębiorcy. Jest on jednocześnie głównym reżyserem, autorem, pomysłodawcą, który wybiera, według swojego uznania, najlepsze kombinacje (zestawy) czynników produkcji. To do jego obowiązków nale-
ży decydowanie się na jedne czynniki produkcji i rezygnowanie z innych.
Przedsiębiorca, który okaże się skuteczny przy dokonywaniu tych wyborów, zdoła odnieść sukces.
Możemy dostrzec, że za każdym z czynników produkcji kryje się akt
twórczego myślenia. Ropa i węgiel od lat kryły się w ziemi, gdy nikt nie
traktował ich jako użytecznych dóbr, aż ludzki umysł nie odkrył, że moż-
na ich do czegoś użyć. Praca to wykorzystanie siły mięśni, wymagające
rozsądnego planowania i pokierowania. Dobra kapitałowe nie mogłyby zostać wyprodukowane, gdyby ktoś nie wpadł na pomysł ich wytworze-
nia. Natomiast kapitał ludzki to umiejętność korzystania z dodatkowych
talentów. Dlatego niektórzy słusznie zauważają, że w produkcji istnieje
tylko jeden istotny czynnik: przedsiębiorcze zdolności człowieka do prze-
kształcania świata materialnego na wszelkie możliwe sposoby.
Przedsiębiorcy przez długie lata byli pomijani w wielu teoriach eko-
nomicznych. Przyczyna tego tkwi we wspomnianej na początku rozdzia-
łu obserwacji: ekonomia jako nauka powstawała w czasach znikomego
wzrostu gospodarczego. W XVII wieku historia ludzkości mogła wydawać
się bardzo przygnębiająca: bardzo powolny przyrost naturalny, wysoka
śmiertelność niemowląt i dzieci, niski poziom życia, nieustanne wojny
czy epidemie. Wszystko to razem sprawiało, że gospodarka zdawała się
stać w miejscu. Dlatego dla przedsiębiorców-rewolucjonistów, którzy nie
bali się zmieniać zastanego świata, nie było wówczas w ekonomicznym
teoretyzowaniu zbyt wiele miejsca. Ważniejszą rolę odgrywały wzajemne
stosunki ekonomiczne pomiędzy sztywnymi klasami społecznymi: wła-
ścicielami ziemskimi, kapitalistami i klasą robotniczą – grupami dostar-
czającymi do produkcji kolejną ziemię, kapitał i pracę.
Gdy nastąpiła eksplozja innowacji, sztywne podziały na czynniki produk-
cji straciły swoje pierwotne znaczenie, choć dalej możemy je wykorzystać przy
opisywaniu procesu produkcji. Ale na piedestał trafiła przedsiębiorczość.
== Przykład klasyfikacji czynników produkcji ==
Załóżmy, że wytwarzamy wełnę przeznaczoną na ciepłe swetry. Z ja-
kich czynników produkcji korzystamy? Zaczynamy od ziemi, na której
zajmujemy się hodowlą owiec. Owce są strzyżone przez mniej wykwali-
fikowanych pracowników. Następnie wełna trafia do fabryki, gdzie jest
odpowiednio prana, oczyszczana i przetwarzana przez maszyny. Dzięki
temu otrzymujemy włókna i nici, stanowiące podstawę do wytworzenia
materiału, sprzedawanego potem producentom swetrów. Nad sprawno-
ścią procesu w fabryce czuwają bardziej wykwalifikowani pracownicy.
Czy w tym przykładzie możemy dokonać klasyfikacji czynników? Tak.
Pracownicy to oczywiście praca. Tych bardziej wykwalifikowanych mogli-
byśmy określić jako przedstawicieli kapitału ludzkiego. Wszelkie maszyny
w fabryce czy narzędzia, którymi strzyże się owce, to dobra kapitałowe –
ponieważ należy je wcześniej wytworzyć. Natomiast ziemią jest miej-
sce, na którym prowadzona jest hodowla owiec i na którym zbudowano fabrykę. Do ziemi niektórzy czasem zaliczają również zwierzęta, rośliny
czy też surowce naturalne: wszelkie rzeczy, które można traktować jako
stałe, niejako „dane na zawsze przez naturę” człowiekowi.
Gdy się jednak nad tym głębiej zastanowimy, to na pewno zauważymy,
że tak naprawdę nic nie jest nam dane raz na zawsze przez naturę. Zwie-
rzętami należy się zaopiekować, zainwestować czas i środki w ich hodow-
lę. Lasy również wymagają odpowiedniego utrzymania. Surowce natural-
ne trzeba wydobywać z ziemi, co wymaga pewnego wysiłku, a do tego
ich ilość jest ograniczona. Nawet samą ziemię można albo zniszczyć, albo
użyźnić. Pokazuje to faktycznie, że klasyczne rozróżnienie na ziemię i do-
bra kapitałowe nie jest możliwe do utrzymania, ponieważ i ziemia, i do-
bra kapitałowe wymagają pewnych inwestycji. Potrzeba do tego wiedzy
i inteligencji człowieka, ale przede wszystkim przedsiębiorczego działania.
== Czy wiesz, że...? ==
Ekonomia do początku XIX wieku określana była mianem „ponurej
nauki”, gdyż wielu teoretykom wydawało się, że ze wzrostu gospo-
darczego nie mogą korzystać wszyscy ludzie w społeczeństwie. Na
szczęście historia gospodarcza dowiodła błędu tego założenia i po-
kazała, że w gospodarce w interesie wszystkich grup leży wzrost
całkowitej produkcji i liczby towarów oferowanych konsumentom.
== Znaczenie przedsiębiorcy w procesie produkcji ==
Mimo że dzisiaj ekonomiści nie skupiają się już zbytnio na klasyfikowa-
niu czynników produkcji, to ciągle pojawiają się negatywne konsekwencje
tego podejścia. Gdy mówi się o wzroście gospodarczym czy poziomie ży-
cia, zbyt dużą uwagę przywiązuje się do samych czynników produkcji: su-
rowców naturalnych albo gromadzonego kapitału (krajowego lub zagra-
nicznego). Tymczasem większą uwagę należy raczej zwracać na to, w jaki
sposób te czynniki produkcji są zdobywane i łączone w procesie produkcji
przez przedsiębiorców (zob. rozdział 17).
Ekonomicznie efektywna produkcja nie przypomina rośliny wyrasta-
jącej właściwie samoistnie z ziemi. Produkcja sama nie urośnie w wy-
niku dodawania do niej kolejnych czynników (np. surowców albo dóbr
kapitałowych). Dużo ważniejsza od materialnych czynników produkcji
i tego, jak je zaklasyfikujemy, jest osoba (przedsiębiorca), która razem ukła-
da je w przemyślaną całość i stara się robić to lepiej od innych.
== Pytania i zadania ==
# Jaka była klasyczna triada czynników produkcji? Z jakiego powodu była tak ważna i dlaczego straciła na swym pierwotnym znaczeniu?
# Podaj przykład dowolnego procesu produkcji i sklasyfikuj jego czynniki.
# Czy rozróżnienie czynników produkcji na ziemię i dobra kapitałowe ma sens? Uzasadnij odpowiedź.
# Czy można wskazać pewien najważniejszy czynnik produkcji? Dlaczego?
# Dlaczego o dobrach kapitałowych, maszynach, mówi się, że są dobrami pośrednimi?
# Wyjaśnij, dlaczego kiedyś idea walki klas była tak żywa, a dzisiaj już nie odgrywa większej roli?
# Austriacki ekonomista Ludwig von Mises napisał kiedyś: „Produkcja nie jest czymś fizycznym, materialnym i zewnętrznym; jest zjawiskiem o charakterze duchowym i intelektualnym”. Korzystając z diagramu 1, spróbuj uzasadnić takie twierdzenie.
<noinclude>
{{Nawigacja|Wolna przedsiębiorczość|[[../Rzadkość i koszt alternatywny/]]|[[../Praworządność a społeczeństwo/]]}}
</noinclude>
0vpu6sogu0awczmzjo3j15ekfp20mf9
540875
540872
2026-04-26T17:36:33Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540875
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* jak klasyfikuje się czynniki produkcji,
* dlaczego podział czynników produkcji pojawił się w ekonomii i dlaczego współcześnie stracił na znaczeniu,
* czego dotyczy teoria dystrybucji (podziału) dochodu i dlaczego wzbudza kontrowersje,
* dlaczego dla wszystkich członków społeczeństwa ważne jest, by cała gospodarka się rozwijała,
* dlaczego najważniejszym czynnikiem produkcji jest przedsiębiorczość człowieka.
Najważniejsze pojęcia:
* czynniki produkcji, teoria dystrybucji, przedsiębiorczość
== Czynniki produkcji ==
W XIX wieku postrzegano produkcję jako projekt przeprowadzany przede wszystkim w wymiarze materialnym, a za czynniki produkcji uważano najczęściej przedmioty fizyczne i łączoną z nimi pracę. Na gruncie tego podejścia w historii myśli ekonomicznej pojawiła się słynna klasyfikacja czynników produkcji. Wyróżniono następujące czynniki: ziemię, pracę i kapitał – tzw. triadę czynników produkcji.
Ekonomia zaczęła się dynamicznie rozwijać jako samodzielna dyscyplina naukowa w czasach, gdy gospodarki zachodnie (głównie kraje europejskie na zachód od Łaby oraz Stany Zjednoczone i Kanada) doświadczały niespotykanego wcześniej wzrostu. Można było wówczas zaobserwować trzy grupy społeczne, które pełniły swoje ekonomiczne funkcje: kapitalistów, którzy posiadali fabryki z maszynami i innym wyposażeniem; pracowników, którzy wykonywali dla kapitalistów niezbyt złożoną i wielogodzinną pracę fizyczną, oraz właścicieli ziemskich, którzy od kapitalistów różnili się między innymi tym, że korzystali głównie ze zgromadzonych wcześniej majątków ziemskich. Taki podział na czynniki produkcji stał się czymś naturalnym, przede wszystkim z powodu sytuacji społecznej w tamtych czasach.
== Dystrybucja dochodu i harmonia interesów ==
Jednoczesne występowanie tych trzech grup społecznych zdawało się przekładać na sztywne ramy stosunków ekonomicznych. W związku z tym powstał nawet dział ekonomii zwany teorią dystrybucji, który wyjaśniał, jakie części całkowitego dochodu w gospodarce przypadają na poszczególne grupy. To z kolei otworzyło drogę do rozważań o rzekomych nieodłącznych konfliktach i walkach między właścicielami czynników produkcji (dzisiaj mówi się raczej o współpracy wszystkich czynników niż o walce). Takiemu podejściu sprzyjało zwłaszcza to, że aż do XVIII wieku gospodarka prawie się nie rozwijała. Całkowity dochód w społeczeństwie można było postrzegać jako tort, którego wielkość przez setki lat niemal się nie zmieniała. Główne zagadnienie teorii ekonomii zdawało się dotyczyć tego, w jaki sposób ten tort, czyli bogactwo, jest dzielony między ludzi. Jednak sztywny podział i rozważania na jego temat z czasem przestały odgrywać główną rolę, ponieważ kapitalistyczna organizacja produkcji doprowadziła do ogromnego wzrostu gospodarczego. W wyniku tzw. rewolucji przemysłowej na przełomie XVIII i XIX wieku oraz gwałtownego rozwoju gospodarki od tego czasu „tort” powiększył się kilkudziesięciokrotnie, na czym skrzętnie skorzystali przedstawiciele wszystkich „klas”. Produkcja przestała być postrzegana jako nierosnąca wielkość, o którą to czy się społeczna walka klas. Dostrzeżono bowiem, że interesy wszystkich klas są tak naprawdę zbieżne, bo na „wzroście” tortu może skorzystać każdy.
Przed rewolucją przemysłową przynależność do jednej z wymienionych wyżej trzech grup w większym stopniu przekładała się na sytuację materialną. Po latach rozwoju gospodarki ta zależność została znaczą-
co osłabiona. Praca coraz częściej przestawała być nieskomplikowaną i powtarzalną rutyną, zaś większą rolę zaczęły odgrywać talenty pracowników, ich wykształcenie i umiejętności. W efekcie w literaturze
ekonomicznej pojawiło się pojęcie kapitału ludzkiego, niejako czwartego czynnika produkcji. W dzisiejszej gospodarce znacznie większą rolę odgrywają usługi, a zatem wiedza i odpowiednie umiejętności.
Z tego powodu wielu wysoko wykwalifikowanych pracowników najemnych zarabia więcej od kapitalistów, do których zalicza się również indywidualnych inwestorów.
== Dobra kapitałowe ==
Gdy mówimy o kapitale, najczęściej chodzi nam o dobra kapitałowe, czyli przetworzone przez człowieka materialne zasoby, które służą do efektywnej produkcji. W przeciwieństwie do dóbr konsumpcyjnych, bez-
pośrednio zaspokajających nasze potrzeby, dobra kapitałowe umożliwiają nam produkcję – dlatego bywają one też nazywane dobrami pośrednimi.
Przykładowo, piec w piekarni to dobro kapitałowe (pośrednie), ponieważ nie służy bezpośredniemu zaspokojeniu potrzeb. Służy do wytwarzania innego dobra (chleba), które dopiero pozwoli na zaspokojenie potrzeby
(dobra konsumpcyjnego). Młotek, komputer, lampa, linia montażowa, koparka, żelazo, samochód, drukarka – to tylko kilka przykładów licznych dóbr kapitałowych, które umożliwiają nam produkcję. Co charakterystyczne, wytworzenie dóbr kapitałowych zabiera ludziom czas. Ludzie, by móc korzystać z dóbr
kapitałowych, muszą wcześniej podjąć decyzję o ich produkcji. Muszą zainwestować swój czas i środki w stworzenie czegoś, co nie daje od razu satysfakcji. Trudno przecież uznać, że linia montażowa bezpośrednio
realizuje jakiś cel, do którego dążą ludzie. Czyni to jedynie pośrednio, umożliwiając na przykład masową produkcję samochodów, które z kolei zaspokajają naszą potrzebę szybszego poruszania się.
== Przedsiębiorczość i zanik znaczenia podziału na czynniki produkcji ==
W ekonomii spotyka się pojęcie funkcji produkcji, w której czynniki produkcji traktuje się czasem jak składniki wrzucane razem w odpowiedniej proporcji do ziemi, z której potem wyrasta samoistnie roślina.
Analogicznie, w prostym opisie mówi się o czynnikach ekonomicznych „wrzucanych” do produkcji dóbr i usług. W tym ujęciu „wrzucamy” pracowników, maszyny, halę, komputery, a z czasem produkcja sama rośnie
niczym drzewko owocowe. W rzeczywistości jest to obraz bardzo uproszczony, czasami wręcz szkodliwy, ponieważ nie istnieje odgórny, najlepszy „przepis na produkcję”, podobny do instrukcji sadzenia roślin. Owszem, znamy technologię wytwarzania najróżniejszych dóbr, ale nigdy nie mamy pewności, jakich dóbr w danej chwili najbardziej potrzebują konsumenci. Dlatego decyzja o tym, co i jak produkować, jest zawsze swego
rodzaju eksperymentem, którego efektów nie da się do końca przewidzieć.
Diagram 1. Czynniki produkcji
Ziemia (i surowce)
Rutynowa
produkcja
Kapitał
Większa
i bardziej efektywna
produkcja
Praca
Przedsiębiorczość
Źródło: opracowanie własne.
W tym miejscu dochodzimy do najważniejszego elementu w procesie produkcji: przedsiębiorcy. Jest on jednocześnie głównym reżyserem, autorem, pomysłodawcą, który wybiera, według swojego uznania, najlepsze kombinacje (zestawy) czynników produkcji. To do jego obowiązków należy decydowanie się na jedne czynniki produkcji i rezygnowanie z innych. Przedsiębiorca, który okaże się skuteczny przy dokonywaniu tych wyborów, zdoła odnieść sukces. Możemy dostrzec, że za każdym z czynników produkcji kryje się akt twórczego myślenia. Ropa i węgiel od lat kryły się w ziemi, gdy nikt nie traktował ich jako użytecznych dóbr, aż ludzki umysł nie odkrył, że można ich do czegoś użyć. Praca to wykorzystanie siły mięśni, wymagające rozsądnego planowania i pokierowania. Dobra kapitałowe nie mogłyby zostać wyprodukowane, gdyby ktoś nie wpadł na pomysł ich wytworzenia. Natomiast kapitał ludzki to umiejętność korzystania z dodatkowych talentów. Dlatego niektórzy słusznie zauważają, że w produkcji istnieje tylko jeden istotny czynnik: przedsiębiorcze zdolności człowieka do przekształcania świata materialnego na wszelkie możliwe sposoby.
Przedsiębiorcy przez długie lata byli pomijani w wielu teoriach ekonomicznych. Przyczyna tego tkwi we wspomnianej na początku rozdziału obserwacji: ekonomia jako nauka powstawała w czasach znikomego
wzrostu gospodarczego. W XVII wieku historia ludzkości mogła wydawać się bardzo przygnębiająca: bardzo powolny przyrost naturalny, wysoka śmiertelność niemowląt i dzieci, niski poziom życia, nieustanne wojny
czy epidemie. Wszystko to razem sprawiało, że gospodarka zdawała się stać w miejscu. Dlatego dla przedsiębiorców-rewolucjonistów, którzy nie bali się zmieniać zastanego świata, nie było wówczas w ekonomicznym teoretyzowaniu zbyt wiele miejsca. Ważniejszą rolę odgrywały wzajemne stosunki ekonomiczne pomiędzy sztywnymi klasami społecznymi: właścicielami ziemskimi, kapitalistami i klasą robotniczą – grupami dostarczającymi do produkcji kolejną ziemię, kapitał i pracę. Gdy nastąpiła eksplozja innowacji, sztywne podziały na czynniki produkcji straciły swoje pierwotne znaczenie, choć dalej możemy je wykorzystać przy
opisywaniu procesu produkcji. Ale na piedestał trafiła przedsiębiorczość.
== Przykład klasyfikacji czynników produkcji ==
Załóżmy, że wytwarzamy wełnę przeznaczoną na ciepłe swetry. Z jakich czynników produkcji korzystamy? Zaczynamy od ziemi, na której zajmujemy się hodowlą owiec. Owce są strzyżone przez mniej wykwalifikowanych pracowników. Następnie wełna trafia do fabryki, gdzie jest odpowiednio prana, oczyszczana i przetwarzana przez maszyny. Dzięki temu otrzymujemy włókna i nici, stanowiące podstawę do wytworzenia
materiału, sprzedawanego potem producentom swetrów. Nad sprawnością procesu w fabryce czuwają bardziej wykwalifikowani pracownicy.
Czy w tym przykładzie możemy dokonać klasyfikacji czynników? Tak. Pracownicy to oczywiście praca. Tych bardziej wykwalifikowanych moglibyśmy określić jako przedstawicieli kapitału ludzkiego. Wszelkie maszyny
w fabryce czy narzędzia, którymi strzyże się owce, to dobra kapitałowe – ponieważ należy je wcześniej wytworzyć. Natomiast ziemią jest miejsce, na którym prowadzona jest hodowla owiec i na którym zbudowano fabrykę. Do ziemi niektórzy czasem zaliczają również zwierzęta, rośliny czy też surowce naturalne: wszelkie rzeczy, które można traktować jako stałe, niejako „dane na zawsze przez naturę” człowiekowi.
Gdy się jednak nad tym głębiej zastanowimy, to na pewno zauważymy, że tak naprawdę nic nie jest nam dane raz na zawsze przez naturę. Zwierzętami należy się zaopiekować, zainwestować czas i środki w ich hodowlę. Lasy również wymagają odpowiedniego utrzymania. Surowce naturalne trzeba wydobywać z ziemi, co wymaga pewnego wysiłku, a do tego ich ilość jest ograniczona. Nawet samą ziemię można albo zniszczyć, albo użyźnić. Pokazuje to faktycznie, że klasyczne rozróżnienie na ziemię i dobra kapitałowe nie jest możliwe do utrzymania, ponieważ i ziemia, i dobra kapitałowe wymagają pewnych inwestycji. Potrzeba do tego wiedzy
i inteligencji człowieka, ale przede wszystkim przedsiębiorczego działania.
== Czy wiesz, że...? ==
Ekonomia do początku XIX wieku określana była mianem „ponurej nauki”, gdyż wielu teoretykom wydawało się, że ze wzrostu gospodarczego nie mogą korzystać wszyscy ludzie w społeczeństwie. Na szczęście historia gospodarcza dowiodła błędu tego założenia i pokazała, że w gospodarce w interesie wszystkich grup leży wzrost
całkowitej produkcji i liczby towarów oferowanych konsumentom.
== Znaczenie przedsiębiorcy w procesie produkcji ==
Mimo że dzisiaj ekonomiści nie skupiają się już zbytnio na klasyfikowaniu czynników produkcji, to ciągle pojawiają się negatywne konsekwencje tego podejścia. Gdy mówi się o wzroście gospodarczym czy poziomie życia, zbyt dużą uwagę przywiązuje się do samych czynników produkcji: surowców naturalnych albo gromadzonego kapitału (krajowego lub zagranicznego). Tymczasem większą uwagę należy raczej zwracać na to, w jaki
sposób te czynniki produkcji są zdobywane i łączone w procesie produkcji przez przedsiębiorców (zob. rozdział 17).
Ekonomicznie efektywna produkcja nie przypomina rośliny wyrastającej właściwie samoistnie z ziemi. Produkcja sama nie urośnie w wyniku dodawania do niej kolejnych czynników (np. surowców albo dóbr kapitałowych). Dużo ważniejsza od materialnych czynników produkcji i tego, jak je zaklasyfikujemy, jest osoba (przedsiębiorca), która razem układa je w przemyślaną całość i stara się robić to lepiej od innych.
== Pytania i zadania ==
# Jaka była klasyczna triada czynników produkcji? Z jakiego powodu była tak ważna i dlaczego straciła na swym pierwotnym znaczeniu?
# Podaj przykład dowolnego procesu produkcji i sklasyfikuj jego czynniki.
# Czy rozróżnienie czynników produkcji na ziemię i dobra kapitałowe ma sens? Uzasadnij odpowiedź.
# Czy można wskazać pewien najważniejszy czynnik produkcji? Dlaczego?
# Dlaczego o dobrach kapitałowych, maszynach, mówi się, że są dobrami pośrednimi?
# Wyjaśnij, dlaczego kiedyś idea walki klas była tak żywa, a dzisiaj już nie odgrywa większej roli?
# Austriacki ekonomista Ludwig von Mises napisał kiedyś: „Produkcja nie jest czymś fizycznym, materialnym i zewnętrznym; jest zjawiskiem o charakterze duchowym i intelektualnym”. Korzystając z diagramu 1, spróbuj uzasadnić takie twierdzenie.
<noinclude>
{{Nawigacja|Wolna przedsiębiorczość|[[../Rzadkość i koszt alternatywny/]]|[[../Praworządność a społeczeństwo/]]}}
</noinclude>
atsyk1sls8vxc9qfeqsr7id99l84xgw
Wolna przedsiębiorczość/Praworządność a społeczeństwo
0
57474
540880
528466
2026-04-26T17:54:01Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540880
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* Z czym jest pojęcie praworządności (tzw. rule of law),
* dlaczego praworządność ma wielkie znaczenie ekonomiczne,
* czym jest niepewność reżimowa,
* co oznacza dla gospodarki stabilność prawa,
* jaka jest rola praw własności w kontekście stabilności
* prawnej i gospodarczej.
Najważniejsze pojęcia:
praworządność, niepewność reżimowa, wartość kapitałowa
== Cechy rządów prawa ==
W języku angielskim istnieje termin rule of law [wym. rul of loł], który tłumaczy się nieraz jako praworządność czy też rządy prawa. Terminu tego używa się wtedy, gdy w danym kraju istnieje ład opierający się na uniwersalnych regułach prawnych. Co mamy na myśli, gdy mówimy o takich systemowych regułach? Chodzi głównie o to, by zasady działania władzy i aparatu państwa nie były arbitralne, czyli o to, by władca nie mógł ich dowolnie zmieniać i ustalać wedle własnej woli. Innymi słowy, chodzi o taki porządek prawny, w którym ci, którzy tworzą przepisy, nie mogą tego czynić dowolnie i bez poszanowania praw jednostek. Określenie „rządy prawa” może być trochę mylące, ponieważ każdym społeczeństwem rządzą pewne reguły prawne, choćby niezwykle okrutne. Nawet w najbardziej dyktatorskim i zniewolonym społeczeństwie dominują z góry ustalone zasady postępowania. Angielski termin rule of law należałoby raczej tłumaczyć jako „duch prawa”, ponieważ najczęściej zawiera w sobie coś więcej niż tylko znaczenie: „wszystko ma być zapisane w ustawie”. W nazistowskich Niemczech również obowiązywały procedury i przepisy stanowione przez dyktaturę. Niemniej, nie uznaje się tego porządku za praworządny system oparty na zasadzie rule of law. Dlaczego? Ponieważ był to system, w którym prawo traktowano jako instrument, dowolnie strojony, przestawiany i zmieniany przez jedną rządzącą partię (przypisującą sobie wyłączność na rację w każdej kwestii). Partia ta czyniła tak wyłącznie po to, aby zrealizować konkretny cel ideologiczny, bez poszanowania bardziej fundamentalnych reguł sprawiedliwości” zgodnych z „duchem prawa”. W systemie opartym na „duchu prawa” istnieją niezbywalne uprawnienia jednostki, których władza nie może łatwo podważyć, takie jak prawo do uczciwego procesu sądowego, prawo do wolności wypowiedzi czy prawo własności, mające ogromne znaczenie gospodarcze.
== Wpływ systemu prawnego na działalność gospodarczą ==
Dlaczego w książce o przedsiębiorczości zajmujemy się czymś, co wydaje się bardziej pasować do zajęć z wiedzy o społeczeństwie? Ponieważ system prawny obowiązujący w danym kraju jest jednym z głównych czynników warunkujących prowadzenie działalności gospodarczej (choć nie jedynym). Mimo że nasze życie społeczno gospodarcze zależy od wielu rzeczy, porządek prawny jest jednym z najbardziej istotnych czynników decydujących o tym, jak będzie wyglądać gospodarka. Prawa własności wraz ze swobodą umów są jednymi z elementów składowych praworządnego systemu społeczno-gospodarczego. Zapewniają solidne podstawy dla funkcjonowania przedsiębiorstw. Czy prawa te są nieograniczone? To zależy od systemu politycznego. We wszystkich krajach aparaty władzy decydują się z różnych przyczyn na ograniczanie tych uprawnień. W sferze ideologicznej toczą się spory o to, w jakim stopniu i czy w ogóle te prawa powinny być przez państwo ograniczane. Skoro jednak we wszystkich krajach prawa jednostki są ograniczane przez aparat państwa, to po co w ogóle wprowadzać zasadę praworządności? Jak odróżnić państwa opresyjne od tych bardziej przyjaznych jednostce i czy w ogóle jest możliwe takie twarde rozróżnienie?
Wszystkie państwa ograniczają prawa jednostek, ale niektóre czynią to w mniejszym stopniu od pozostałych. Władzy trudniej jest rozszerzać swoje uprawnienia w krajach posiadających rozwinięte systemy polityczne, które są bliskie idei praworządności. Wynika to z rozmaitych powodów, również kulturowych, jednak niezwykle ważna jest sama konstrukcja ładu prawnego – to, czy istnieje w nim na przykład zasada podziału władzy. Konsekwencją istnienia tej zasady jest to, że w kraju praworządnym władza nie może np. skonfiskować prywatnej własności równie łatwo jak w krajach o rządach dyktatorskich. Musi bowiem liczyć się (przynajmniej w teorii, gdyż w praktyce może być różnie) z innym ośrodkami władzy i nacisku: z opozycją polityczną, władzą sądowniczą, konstytucją, potencjalną presją ze strony mediów, organizacjami pozarządowymi. Nie oznacza to oczywiście, że taka konfiskata nie jest w ogóle możliwa.
Oznacza tylko tyle, że trudniej ją przeprowadzić niż w systemie, w którym dana partia ma pełny monopol na władzę i nie jest w ogóle ograniczona systemem prawnym. I choć często system ten nie działa idealnie, to jednak stanowi pewną przeszkodę, choć minimalnie ograniczając swobodę działań władzy. Te sprawy mają ogromne znaczenie dla stanu gospodarki i przedsiębiorczości. W ładzie politycznym bliskim ideałowi praworządności istnieją znane społeczeństwu i częściowo przewidywalne reguły gry.
== Znaczenie stabilnych reguł prawnych ==
Dlaczego stabilność tych reguł ma tak duże znaczenie? Ponieważ pozwala na lepsze długookresowe planowanie. Widać to szczególnie wyraźnie w przypadku krajów rozwijających się. Wkładają one dużo wysiłku we wprowadzenie stabilnego systemu prawnego, czyli takiego, który dawałby zagranicznym inwestorom względnie dużą pewność co do politycznej przyszłości. Wyobraźmy sobie, że inwestor zastanawia się nad otwarciem fabryki w ubogim kraju. Jeśli nie może być pewien bezpieczeństwa tej inwestycji, gdyż istnieje groźba wybuchu powstania albo dojścia do władzy nieprzyjaznego dyktatora, ignorującego prawo międzynarodowe, to może się na nią nie zdecydować. W takim wypadku rozwój gospodarczy kraju będzie dużo wolniejszy od potencjalnie możliwego do osiągnięcia.
Diagram 2. Konsekwencje praworządności i jej braku
Praworządność
Brak
praworządności
Stabilne
prawo
Niestabilność
Źródło: opracowanie własne.
Przewidywalność
Niepewność
reżimowa
Większe
inwestycje Większy
dobrobyt
Mniejsze
inwestycje Mniejszy
dobrobyt
== Wpływ niepewności reżimowej na inwestycje ==
W teorii prawa gospodarczego pojawia się termin niepewności reżimowej. Określa się nim brak przewidywalności przyszłych zmian w prawie, które dotykają przedsiębiorców planujących inwestycje. Przewidywalność zmian ma szczególnie duże znaczenie w przypadku inwestycji długoterminowych, o horyzoncie kilkudziesięciu lat. Jeśli nie możemy być pewni tego, co władza polityczna zrobi za parę miesięcy lub lat, to będziemy mniej skłonni do inwestowania w takim kraju. Zjawisko niepewności reżimowej dobrze tłumaczy, dlaczego wielu ludzi decyduje się inwestować swoje pieniądze w krajach, gdzie opodatkowanie jest nominalnie wyższe.
Często bowiem warto pozostawić pieniądze w kraju, w którym reguły praworządności są przestrzegane, nawet pomimo wyższych podatków. Dla wielu bardziej opłacalna będzie inwestycja w kraju praworządnym opodatkowana stawką 30 procent niż inwestycja w kraju łamiącym reguły praworządności opodatkowana stawką 5 procent. Dlaczego? W pierwszym przypadku inwestycja odbywałaby się w stabilniejszym otoczeniu
prawnym, a więc mniej ryzykowne byłoby także jej uruchomienie, nawet gdyby potem trzeba by było zapłacić wyższy podatek i możliwe było zatrzymanie tylko 70 procent owoców inwestycji. Rozwiązanie to może się okazać lepsze niż ryzykowanie utraty wszystkich pieniędzy w kraju mniej praworządnym.
Inwestowania i działalności gospodarczej nie sposób porównywać do gier, ale nawet na ich przykładzie łatwo zobaczyć rolę stabilnych reguł. W szachach najlepsi gracze planują kilkanaście ruchów do przodu. Jest to możliwe, ponieważ obie strony zobowiązują się do przestrzegania określonych zasad. Planowanie długookresowe ma sens, bo każdy musi się trzymać zasad. Wyobraźmy sobie jednak, że jedna ze stron uzyskałaby nadzwyczajną przewagę i mogłaby w dowolnym momencie zmienić reguły poruszania się gońca lub wieży. W takiej sytuacji długoterminowe
planowanie przez drugą stronę nie miałoby sensu.
== Własność i wartość kapitałowa ==
Podobnie jest z inwestowaniem i rozsądnym gospodarowaniem zasobami. Stabilne reguły gry pozwalają na długoterminowe planowanie gospodarcze. Ma to jednak swoje konsekwencje. Długoterminowe planowanie gospodarcze pozwala docenić długoterminową wartość zasobów gospodarczych. Załóżmy, że posiadamy dom i kawałek ziemi. Dzięki temu mamy gdzie mieszkać i uprawiać rośliny. Ponieważ istnieje porządek społeczny i reguły prawne, to inni ludzie nie mogą korzystać z naszego domu i ziemi bez naszej zgody. Dzięki temu nasze nieruchomości mają wartość kapitałową – wartość wynikającą z ich przyszłego użycia: za kilka miesięcy, kilka, kilkanaście, kilkadziesiąt lat. Gdyby każdy mógł dowolnie korzystać z naszych nieruchomości, zasoby te zostałyby szybko wyeksploatowane. Nie mielibyśmy żadnego powodu, by w nie inwestować i podejmować się względem nich długookresowego planowania.
== Czy wiesz, że...? ==
World Bank Group [wym. łorld bank grup; znaczenie: grupa banku światowego] publikuje co roku raport Doing Business [wym. duinbiznes; znaczenie: prowadzenie działalności gospodarczej], który ocenia poszczególne kraje pod względem stabilności i przewidywalności systemu prawnego (np. egzekwowania kontraktów, ochrony zawartych umów itd.). Najbardziej rozwinięte kraje zajmują w nim najwyższe miejsca. Kraje, w których prawo jest bardzo niestabilne, czyli trudne do przewidzenia, plasują się na niższych pozycjach. Aktualny ranking możesz znaleźć na stronie: https://www.doingbusiness.org/
Podobnie jest z dobrami, które stoją na półkach w sklepach. Wyobraźmy sobie, że państwo nagle zmienia reguły gry i pozwala ludziom zabierać te towary bez płacenia za nie. Najpierw doszłoby do przepychanek i wszyscy rzuciliby się na darmowe towary (które potem pewnie sprzedawaliby innym). Skoro takie towary z łatwością mogłyby zostać zabrane, to później mało kto chciałby je produkować i dostarczać masowo ludziom. W ten sposób nagła zmiana reguł gry sprawiłaby, że inwestowanie stałoby się nieopłacalne, ponieważ z powodu niestabilności systemu prawnego dobra nie miałyby swojej długookresowej wartości kapitałowej.
Z tych powodów stabilność reguł i praworządność odgrywają istotną rolę w sprawnym funkcjonowaniu porządku ekonomicznego. I choć nie gwarantują rozkwitu przedsiębiorczości i wzrostu gospodarczego, są ich fundamentem.
== Pytania i zadania ==
#Wyjaśnij na podstawie diagramu 2, dlaczego praworządność ma znaczenie dla gospodarki.
#Czym jest niepewność reżimowa? Podaj przykłady.
#Podaj przykłady znaczenia stabilności systemu prawnego dla planowania inwestycji.
#Wyjaśnij, w jaki sposób prawo do własności zasobów decyduje o istnieniu wartości kapitałowej.
#Wyjaśnij krótkowzroczność propozycji, według której wszystkie dobra na sklepowych półkach należałoby właścicielom sklepów odebrać i rozdać ludziom za darmo, aby się nie marnowały.
#Znajdź w Internecie najnowszy raport Doing Business i przeanalizuj w nim pozycję Polski na tle innych krajów.
<noinclude>
{{Nawigacja|Wolna przedsiębiorczość|[[../Produkcja i czynniki produkcji/]]|[[../Podział pracy/]]}}
</noinclude>
oazzjn6yh6qglima7ahprlsqbhusr8z
Wolna przedsiębiorczość/Podział pracy
0
57475
540882
490531
2026-04-26T18:12:22Z
Marek Mazurkiewicz
8990
redakcyjne
540882
wikitext
text/x-wiki
Podział pracy
Z tego rozdziału dowiesz się:
* jakie są korzyści z podziału pracy dla całego społeczeństwa,
* czym jest teoria przewagi komparatywnej,
* jaki sposób handel między krajami (i ludźmi) może przynosić korzyści wszystkim, nawet jeśli jedna strona jest we wszystkim lepsza.
Najważniejsze pojęcia:
* podział pracy, koszty komparatywne, korzyści z handlu
== Podział pracy i społeczna harmonia ==
Od zarania dziejów ludziom towarzyszy podział pracy. Jednak wraz z ewolucją systemów społecznych i politycznych charakter tego podziału ulegał zmianie. Czym w ogóle jest podział pracy? W najprostszym, bezpośrednim znaczeniu polega on na przydzielaniu ludziom różnych zadań. Dzięki temu mogą się oni skupiać na jednej czynności, co pozwala na doskonalenie jej wykonywania i osiągania lepszych efektów. Korzyść z podziału pracy bardzo łatwo dostrzec, wystarczy tylko rozejrzeć się dokoła. Na wielu rynkach mamy profesjonalistów, którzy są dobrzy w tym, co robią, ponieważ się wyspecjalizowali: lekarzy, sportowców, pisarzy, szewców, śpiewaków itd.
Z podziałem pracy wiąże się zagadnienie społecznej harmonii. Jak wspomnieliśmy w rozdziale o czynnikach produkcji (rozdz. 3), ludzie przez długi czas byli przekonani, że konflikty pomiędzy poszczególnymi członkami społeczności są nie do uniknięcia, dlatego historia ludzkości musi być historią wojen i ciągłych walk. Podobne wyobrażenia dotyczyły sytuacji na arenie międzynarodowej. Wierzono, że kraje muszą pozostawać ze sobą w ciągłym sporze, dlatego trudno im będzie znaleźć taki ład, który pozwoliłby wszystkim stronom wspólnie z niego korzystać. Siłą napędową tego przekonania było poczucie, że skoro część krajów była potężniejsza od innych, mogła domagać się szczególnego rodzaju posłuszeństwa oraz
narzucać pozostałym niekorzystne dla nich warunki.
== Teoria przewagi komparatywnej ==
Z podobnym rozumowaniem możemy spotkać się także dzisiaj. Dotyczy ono takiej sytuacji, gdy dany kraj może wytwarzać wszystkie produkty taniej i lepiej. Czy taki kraj w ogóle potrzebowałby innych do współpracy?
Czy nie mógłby z pozostałych uczynić swoich poddanych i ich wyzyskiwać? Okazuje się, że nawet wtedy, gdy jeden kraj jest lepszy w produkcji wszystkich dóbr od pozostałych krajów (choć trudno sobie taki przypadek wyobrazić), współpraca będzie opłacalna dla każdej ze stron. Z pomocą w wyjaśnieniu tego pozornego paradoksu przychodzi teoria przewagi komparatywnej (kosztów komparatywnych), łączona głównie z Davidem Ricardem [wym. dejwidem rikardem], brytyjskim ekonomistą żyjącym w latach 1772–1823.
Wyjaśnijmy to na przykładzie. Załóżmy, że Anna w ciągu minuty może ulepić 1 uszko do barszczu albo zawiesić 3 bombki na choince. Karolina jest dużo sprawniejsza, bo w ciągu minuty potrafi ulepić 2 uszka albo powiesić na choince 4 bombki (zob. tabelę 1). Załóżmy, że każda z nich przeznacza w sumie 10 minut na przygotowania świąteczne. Bez podziału pracy Anna, przeznaczając na każdą czynność połowę tego czasu, zdoła ulepić 5 uszek i powiesić 15 bombek. Karolina w tym czasie ulepi 10 uszek i powiesi 20 bombek. W sumie razem wytworzą 15 uszek, a na choince zawieszą 35 bombek (zob. tabelę 2).
Co się jednak stanie, jeśli zdecydują się na podział pracy? I jaki podział pracy byłby najkorzystniejszy? W poprzednich rozdziałach poznaliśmy koncepcję kosztu alternatywnego, czyli najlepszej utraconej możliwości. Pojęcie to będzie pomocne także w rozwiązaniu powyższej zagadki. Ile „kosztuje” zrobienie uszka przez Annę? Jedno uszko wykonane przez Annę oznacza, że nie zawieszono 3 bombek – oto koszt alternatywny. W przypadku Karoliny jedno uszko oznacza, że na choince nie zawisły 2 bombki (dwa do czterech to jak jeden do dwóch). Widzimy, że choć Karolina w ujęciu czasowym jest bezwzględnie lepsza w robieniu uszek i wieszaniu bombek, to koszt alternatywny wykonania jednego uszka jest większy dla Anny, ponieważ zamiast wykonać jedno uszko Anna mogłaby powiesić 3 bombki.
Na tym polega przewaga komparatywna Anny. Załóżmy więc, że skoro wychodzi jej to lepiej, to cały swój czas poświęci na wieszanie bombek. Przez 10 minut uda jej się powiesić 30 bombek (zob. tabelę 3). Przypuśćmy też, że Karolina poświęci 8 minut na lepienie uszek i wykona ich razem 16.
W pozostałe 2 minuty powiesi jeszcze 8 bombek. Całkowita produkcja jednego i drugiego dobra wzrośnie. Uszek będzie 16, a bombek na choince 38.33
5. Podział pracy
Tabela 1. Różnice w umiejętnościach Anny i Karoliny
Uszka/minuta Bombki/minuta
Anna 1 3
Karolina 2 4
Źródło: opracowanie własne.
Tabela 2. Produkcja uszek i bombek bez podziału pracy
Uszka/5 minut Bombki/5 minut
Anna 5 15
Karolina 10 20
Suma 15 35
Źródło: opracowanie własne.
Tabela 3. Produkcja uszek i bombek z podziałem pracy
Uszka Bombki
Anna 0 minut na uszka 10 minut na bombki → 30 bombek
Karolina 8 minut na uszka → 16 uszek 2 minuty na bombki → 8 bombek
Suma 16 38
Źródło: opracowanie własne.
W taki sposób ekonomiści od czasów Ricarda opisują źródła korzyści płynących z podziału pracy. W praktyce jednak ważnym elementem są stosunki handlowe. Nie chodzi tylko o to, że Anna i Karolina będą mogły wspólnie wytworzyć więcej, gdy współpracują. Najważniejsze, że obie mogą skorzystać na podziale pracy, nawet gdy działają na własną rękę i muszą realizować swoje cele samodzielnie. Patrząc na to z perspektywy kosztów i cen, zauważamy, że zawieszenie jednej bombki kosztuje Annę 1/3 uszka, a Karolinę więcej, bo 1/2 uszka. Dlatego Karolina będzie gotowa zapłacić za zawieszenie bombki każdą cenę poniżej 1/2 uszka. Anna,
świadcząc usługę zawieszania bombek, będzie zyskiwała przy każdej cenie powyżej jej kosztu, czyli powyżej 1/3 uszka. W tej sytuacji wymiana, w której Karolina płaci Annie za powieszenie bombki cenę między
1/3 a 1/2 uszka, jest opłacalna dla obu, mimo że Karolina i tak jest we wszystkim lepsza! Ujmując problem odwrotnie, Annę jedno uszko kosztuje 3 niezawieszone bombki, a Karolinę jedno uszko kosztuje tylko 2 nie-
zawieszone bombki. Dlatego gdy Anna będzie otrzymywała od Karoliny zapłatę w postaci zawieszenia bombek w zamian za uszka, każda cena między 2 a 3 bombkami za uszko będzie opłacalna zarówno dla jednej, jak i dla drugiej. Krótko mówiąc, handel w każdych warunkach, zawsze, choćby nieznacznie, poprawia sytuację handlujących stron.
Ten przykład jest matematycznie prosty, ale zasada pozostanie ta sama, gdy go trochę skomplikujemy i wprowadzimy do modelu więcej osób. Moglibyśmy wymyślać inne przykłady – z ubraniami, żywnością,
środkami czystości. Nie ma znaczenia, jaki przykład podamy, ponieważ zasada kosztu alternatywnego może być zastosowana w każdej sytuacji.
Dlatego też zawsze możemy porównać koszty komparatywne. Nawet jeśli jedna ze stron jest absolutnie lepsza we wszystkim, relatywne porównanie niezmiennie wykaże, że ten słabszy jest w czymś względnie lepszy, co
oznacza, iż może kogoś zastąpić w wykonywaniu danych czynności z korzyścią dla tego silniejszego.
Rozważmy sami tę kwestię na przykładzie wybitnego sportowca. Cristiano Ronaldo być może potrafiłby szybciej niż większość ludzi przewieźć i przenieść swoje meble podczas przeprowadzki z jednego domu
do drugiego. Ale decyduje się na wynajęcie pomocnika – niekoniecznie dlatego, że chce mu dać pracę albo że nie lubi dźwigać mebli (to mogą być dodatkowe powody). Z pewnością jednak istotnym czynnikiem będzie to, że tracąc swój czas na przeprowadzkę, nie mógłby go poświęcić na trening i grę w piłkę nożną, czyli na coś, co przynosi mu ogromne korzyści finansowe (oprócz osobistej satysfakcji). Nawet jeśli wykonanie przeprowadzki zajęłoby mu 3 godziny, a pomocnikowi 4 godziny, to i tak wynajęcie go będzie dla Ronalda opłacalne z powodu kosztu komparatywnego. Wynika to z tego, że jedna godzina kosztuje Cristiana Ronalda więcej niż pomocnika. Ponadto, co może wydać się paradoksalne, im Ronaldo będzie lepszy, tym bardziej będzie skłonny do skorzystania z pomocy słabszego.
Do tego w gruncie rzeczy sprowadza się zasada kosztu komparatywnego. Często możemy się przekonać o jej sile, gdy rozważamy alokowanie (czyli przypisywanie zasobów do konkretnych celów) własnego czasu. Może się okazać, że łatwiej nam będzie za coś na rynku zapłacić niż wykonać to samemu, ponieważ w czasie, gdy wykonywalibyśmy sami tę pracę, moglibyśmy zrobić coś innego i zarobić więcej, niż wyniesie koszt
zakupienia usługi. To niewątpliwie jeden z głównych powodów, dla których wielu pracowników korporacji wyższego szczebla decyduje się jadać posiłki w restauracjach zamiast przygotowywać je samemu. Po prostu wychodzi im to taniej! Jeśli pozostaną w pracy dwie godziny dłużej, mogą otrzymać płacę wyższą niż cena obiadu w restauracji.
Pamiętajmy jednak, że mówimy tu o „fizycznej produktywności”. Może być bowiem tak, że pracownik sam zrobi sobie posiłek, bo lubi to robić albo nie ufa produktom kupowanym na rynku. Pewne subiektywne pobudki mogą przesądzać o tym, że człowiek nie będzie preferował podziału pracy. Równie dobrze może się okazać, że Cristiano Ronaldo lubi sam wykonywać wszystkie prace związane z przeprowadzką. A jak pamiętamy, według ekonomii ludzie mogą mieć cele pozamaterialne. Jednym z nich może również być unikanie podziału pracy.
== Społeczne i międzynarodowe korzyści z podziału pracy ==
Prawo kosztów komparatywnych pokazuje, że możliwa jest harmonia w społeczeństwie i harmonia międzynarodowa. Nawet jeśli jeden z krajów jest znacznie słabszy w produkcji wszystkich dóbr od innych krajów,
to i tak zawsze znajdzie swoje miejsce w produktywnym podziale pracy,
na którym skorzystają wszystkie strony. Aby doszło do korzystnego podziału pracy, który zwiększy całkowitą produkcję jednostek lub krajów, potrzebna jest jeszcze swobodna wymiana między współpracującymi
podmiotami. Anna i Karolina muszą wynegocjować między sobą takie ceny uszek i bombek, które skłonią je do specjalizacji.
Teoria przewagi komparatywnej potrafi też dobrze wyjaśnić, w jaki sposób wszyscy w danym społeczeństwie mogą odnosić korzyści z istnienia bogatych i zdolnych jednostek. Czy zastanawialiście się kiedyś, dla-
czego usługi kelnera, fryzjera czy krawca wycenia się odmiennie w różnych krajach? Praca wykonywana w tych zawodach wygląda podobnie w wielu krajach. A jednak fryzjer na Ukrainie zarabia (przeciętnie) mniej niż fryzjer w Polsce, a fryzjer w Stanach Zjednoczonych z pewnością jest od nich bogatszy (według strony www.salaryexpert.com roczne zarobki ukraińskiego fryzjera – stan na grudzień 2020 r. – to ok. 15,5 tys. zł, polskiego to 48,5 tys. zł, a amerykańskiego to ok. 130 tys zł). Z czego to wynika? Z dodatkowych efektów przewagi komparatywnej.
W bogatszych społeczeństwach istnieją bardziej produktywni przedsiębiorcy, działający na skalę globalną. Im ktoś jest bardziej produktywny w swoim fachu i zarabia więcej pieniędzy, tym wyższy staje się jego koszt alternatywny. Dlatego jest gotów więcej zapłacić za to, że zostanie w czymś zastąpiony. Gdyby Karolina potrafiła lepić jeszcze więcej uszek na minutę, to tym bardziej potrzebowałaby pomocy Anny. Byłaby
również gotowa zapłacić większą liczbą uszek Annie za to, że ta wieszałaby bombki – zwłaszcza gdyby na rynku pojawiła się konkurencja, czyli inni ludzie gotowi zatrudniać Annę, by wyręczała ich w prostszych
czynnościach.
== Czy wiesz, że...? ==
W XIX wieku pojawił się ruch luddystów, którzy chcieli niszczyć maszyny, gdyż uważali, że używanie maszyn w produkcji zwiększy trwale bezrobocie. Dzisiaj mogłoby to przypominać niszczenie kombajnów (żeby więcej ludzi mogło pracować w polu), zakaz korzystania z łopat (bo do kopania rękami potrzeba więcej ludzi) czy zakaz
korzystania z paczkomatów (aby dać pracę dostarczycielom paczek).
Luddyści chcieli niszczyć maszyny, gdyż wierzyli, że nie można dopuścić do tego, aby ktoś stał się za bardzo produktywny, bo wtedy nie będzie potrzebował do pomocy innych ludzi, przez co skaże ich na społeczne wykluczenie. Dzięki teorii kosztów komparatywnych wiemy, że jest to nieprawda i wysoka produktywność jednej osoby (czy przedsiębiorstwa) przynosi korzyść reszcie społeczeństwa.
Im więcej ktoś zarabia, tym więcej warta jest każda godzina jego pracy. Dlatego więcej by tracił, gdyby nie skupiał się na swoim zawodzie – np. gdyby musiał poświęcać czas na mycie samochodu, malowanie ścian
albo naprawę kranu w domu. Dlatego bardziej mu się opłaca znalezienie i opłacenie kogoś, kto za niego umyje samochód lub naprawi kran. Im więcej jest bogatych ludzi w społeczeństwie, tym większe zapotrzebowanie na pomoc fachowców, tym większa konkurencja o ich usługi i tym wyższe oferty zapłaty. W ten sposób otoczenie ludzi bogatych korzysta pośrednio na ich majątku, w wyniku czego w krajach bogatszych za podobne czynności płaci się często o wiele więcej niż w krajach biednych.
Dlatego również im bardziej pogłębia się specjalizacja, tym bardziej przydatni stają się wszyscy ludzie – także ci mniej zdolni albo poszkodowani przez los. Zawsze bowiem mogą się przyczynić do poprawy efektywności
ludzi bardziej wydajnych oraz do pełniejszego wykorzystania ich talentów.
Z podziałem pracy wiąże się jeszcze jedno bardzo ważne i niejednokrotnie pomijane zagadnienie. Zasada przewagi komparatywnej ma swój ukryty potencjał prawie wszędzie. Właściwie w każdej sytuacji dzięki
podziałowi pracy ludzie mogą stać się bardziej produktywni pod względem fizycznym. Nie zawsze jednak jest to produktywność wartościowa.
W ekonomii istnieje znacząca różnica między produktywnością fizyczną a ekonomiczną. Ta pierwsza wymaga podziału pracy. Ta druga wymaga istnienia przedsiębiorców, którzy umiejętnie organizują podział pracy, aby stworzyć coś wartościowego. To jednak będzie tematem działu II podręcznika.
== Pytania i zadania ==
# Podaj przykład pokazujący zasadę przewagi komparatywnej (inny od tego w tekście).
# Dlaczego bezwzględna przewaga jednej strony w produkcji wszystkich dóbr nie oznacza, że podział pracy i wymiana będą nieopłacalne?
# Wyjaśnij, dlaczego mimo prawa przewagi komparatywnej ludzie mogą zrezygnować z podziału pracy. Podaj przykłady takich zachowań.
# Dlaczego większa produktywność jednej osoby wpłynie pozytywnie na bogactwo tych, którzy nie będą bardziej produktywni?
# Wyjaśnij, jak podział pracy wpływa na harmonię społeczną.
{{Nawigacja|Wolna przedsiębiorczość|[[../Praworządność a społeczeństwo/]]|[[../Pieniądz i funkcje pieniądza/]]}}
q1qc6tyds628t2qvyz6ojgb22uy254r
Wolna przedsiębiorczość/Suwerenność konsumenta i ceny
0
57477
540883
491124
2026-04-26T18:14:32Z
Marek Mazurkiewicz
8990
redakcyjne
540883
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* dlaczego za główną siłę napędową procesów gospodarczych uważa się konsumenta,
* czym jest suwerenność konsumenta,
* dlaczego dla konsumentów ważna jest konkurencja,
* dlaczego ekonomiści spierają się o to, czy wszystkie dobra powinny być wytwarzane z uwzględnieniem zasady suwerenności konsumenta,
* jak konsumenci decydują o cenach.
Najważniejsze pojęcia:
* konsument, suwerenność konsumenta, wolna konkurencja, użyteczność
== Przewodnia rola konsumenta w gospodarce rynkowej ==
Wszystkie towary sprzedawane na rynku mają swoje ceny wyrażone w kategoriach pieniężnych. Najważniejsze z tych cen w codziennym życiu ludzi to ceny dóbr konsumpcyjnych, czyli ceny, które płaci ostateczny odbiorca – ten, który kupuje chleb, wodę, leki, energię i inne dobra, aby bezpośrednio z nich korzystać jako konsument.
Konsumenta uważa się za niepisanego przywódcę gospodarki rynkowej. Jest to określenie nieco na wyrost, ponieważ w codziennej praktyce to nie konsumenci dowodzą przebiegiem procesu produkcji, nie oni zarządzają wytwarzaniem towarów nie oni decydują o ich sprzedaży. Czynią to przede wszystkim przedsiębiorcy. Mimo to przedsiębiorcy nie są wyłącznymi panami swojego losu. Nie mogą zagwarantować sobie sukcesu na rynku. Dlaczego? Ponieważ ostatecznym odbiorcą produktów wytworzonych przez przedsiębiorcę zawsze jest konsument. To on dokonuje potwierdzenia, że dany produkt jest potrzebny i pożądany na rynku – potwierdzenia tego, co jego zdaniem jest użyteczne.
Stąd częste i niekiedy być może wyolbrzymione określanie konsumenta mianem „dowódcy” albo „kapitana”. Głos konsumenta jest niczym głos wyrażającego pozwolenie, ostatecznie stemplującego projekt – bez jego pieczątki cały plan trafiłby do kosza. Choćby nie wiadomo, jak imponujący byłby dla różnych ludzi i ile czasu poświęcono by na jego realizację, to bez aprobaty konsumenta projekt nie ma wartości rynkowej. Decyzje konsumenckie oznaczają zgodę na uruchomienie procesu produkcji. Wielokrotnie w historii stykaliśmy się z pomysłowymi produktami, które wyglądały na projekty solidne pod względem technicznym. A jednak nie gwarantowały sukcesu. Nieraz konsumenci odwracali się od takich produktów, stwierdzając, że wolą wydać pieniądze na coś innego. Gusta konsumentów są subiektywne i niekiedy może być nam trudno je zrozumieć. W związku z tym wprowadzenie produktu na rynek i obserwacja decyzji zakupowych ludzi stanowi jedyny sposób testowania zgodności produktu z preferencjami konsumentów.
Nieuchronność takich kaprysów konsumenckich sprawiła, że w ekonomii pojawiło się pojęcie suwerenności konsumenta – oznacza to, że punktem centralnym teorii ekonomicznych jest konsument podejmujący swobodnie decyzje o tym, które produkty kupować. To właśnie z tego powodu w ekonomii mówi się o konieczności istnienia wolnej konkurencji, aby zapewnić możliwie najszersze spektrum wyboru ostatecznym odbiorcom. Swoboda konkurencji prowadzi do tego, że w przypadku niezadowolenia klientów z jednego dostawcy, mogą się oni zdecydować na zakup dóbr dostarczanych przez innego dostawcę. Gdy przestaje nam odpowiadać oferta naszego dostawcy usług telefonii komórkowej, możemy podjąć decyzję o wyborze innego. W ten sposób wysyłamy sygnał, jaki rodzaj dóbr jest naszym zdaniem najlepszy i najbardziej pożądany.
Choć jako jednostki mamy niewielki wpływ na cały rynek, to decyzje wszystkich konsumentów sumują się w jedną wielką siłę, która ostatecznie decyduje o opłacalności przedsiębiorczych projektów. Jeśli producent tworzy dobra w dużym zakresie pożądane przez ludzi, to wzrasta jego sprzedaż. Pojawiają się zyski pieniężne, które stanowią namacalny dowód jego sukcesu. Jeśli natomiast producent tworzy produkt słabej jakości, nieatrakcyjny albo nieadekwatny do swojej ceny, konsumenci z niego rezygnują. W konsekwencji niska sprzedaż będzie przynosić producentowi straty w działalności, a z czasem może go zmusić do wycofania się z rynku.
Zasada swobodnego wyboru konsumenta jest tak mocno utwierdzona w rozważaniach ekonomicznych, że pojawiała się nawet w ekonomicznych modelach planowania socjalistycznego, czyli centralnego planowania przez państwo każdego aspektu działalności gospodarczej w kraju. Nawet tam, przy zaplanowanej wszechwładzy gospodarczej państwa, zwracano uwagę na konieczność istnienia wolności konsumentów do dokonywania wyborów zakupowych (choć oczywiście w realnej praktyce krajów socjalistycznych mało kto zwracał na to uwagę).
Metoda dokonywania wyborów przez konsumentów jest jedyną dostępną metodą eksperymentalną pozwalającą na sprawdzenie, czy stworzone dobro lub usługa przynosi spodziewane korzyści. Jak zwracaliśmy uwagę w poprzednich rozdziałach, w ekonomii wartość dobra jest rzeczą subiektywną, to znaczy zależną od indywidualnych preferencji. Ktoś lubi książki jednego autora i uważa go za wybitnego twórcę, ktoś inny może uznać go za mało interesującego i zdecydować się na kupno czegoś innego (niekoniecznie książki). Zrozumienie, że wartość jest subiektywna, pozwala nam zwrócić się ku podmiotowi procesu ekonomicznego, czyli właśnie konsumentowi. Stąd w praktyce biznesowej nieprzerwanym echem odbija się powiedzenie, że „klient ma zawsze rację, nawet jeśli jej nie ma”. Sprzedawcy stoją przed trudnymi wyborami. To, co oni uważają za dobry towar, w opinii konsumentów może być nic niewarte. Dlatego w ekonomii pojęcie użyteczności dobra odnosi się do subiektywnej, osobistej satysfakcji, którą trudno przedstawić w kategoriach obiektywnych.
== Wyjątki od zasady suwerenności konsumenta ==
Mimo że w ekonomii panuje generalna zgoda co do wagi suwerenności konsumenta, to istnieje pewien spór dotyczący tego, czy wszystkie dobra i usługi powinny być poddane woli konsumentów. Choć jako konsumenci wszyscy chcielibyśmy sami decydować o tym, na co przeznaczać
posiadane środki, to spora część społeczeństwa jako producenci już nie zajmuje tak zdecydowanego stanowiska. Wielu wysuwa postulaty, że należy finansować rozmaite dobra za pomocą wydatków przymusowych (realizowanych przez państwo), bez liczenia się z wolą konsumentów. Do takich dóbr zalicza się często kulturę, edukację, służbę zdrowia i wiele innych działów. Na rzecz dostarczania każdego z tych dóbr przez państwo przedstawiane są bardzo różne argumenty, które wymagałyby osobnego omówienia. Wrócimy do nich w rozdziale 20. Niemniej wspólną podstawą tych argumentów pozostaje przekonanie, że nie wszystko można poddać woli konsumentów. Należy jednak pamiętać, że taki sposób dostarczania dóbr otwiera drogę do sporów politycznych i walki o to, której grupie uda się pozyskać środki publiczne na swoją działalność.
== Wpływ konsumentów na ceny ==
Decyzje konsumentów mają wpływ nie tylko na to, co jest produkowane przez przedsiębiorców, ale również na ceny produktów. Im bardziej konsumenci chcą nabywać towary, czyli im więcej pieniędzy są gotowi wydawać, tym większą presję wywierają na to, aby ceny były wyższe.
Chociaż rynek nie wygląda jak internetowa licytacja, to w rzeczywistości można sobie wyobrazić, że jest to dobra ilustracja jego działania. Towary zostają wystawione na sprzedaż, a im więcej klientów kupuje dany produkt, tym bardziej ich decyzje działają niczym kliknięcie za podbiciem ceny na aukcji internetowej.
== Czy wiesz, że...? ==
Obraz Christophera Woola [wym. kristofera łula], artysty ze Stanów Zjednoczonych, białe płótno z napisem GŁUPIEC (FOOL), został
sprzedany za 5 milionów dolarów.
Fakt, że konsumenci podejmują pośrednio decyzje o tym, co należy produkować, nie oznacza jeszcze, że wszystko dzieje się pod ich dyktando. Gdyby tak było, to zapewne chcieliby otrzymywać produkty za darmo. Muszą jednak zapłacić za nie odpowiednią cenę. Co o tej cenie decyduje? Z jednej strony, są to wspomniane decyzje konsumentów. Z drugiej strony, musimy pamiętać o kalkulacjach przedsiębiorców, którzy chcą produkować dane dobra. Analizie tego problemu poświęconyjest rozdział 8.7. Suwerenność konsumenta i ceny
== Pytania i zadania ==
# Wyjaśnij rolę suwerenności konsumenta dla efektywności produkcji.
# Dlaczego w kontekście decyzji konsumenta mówi się o subiektywnych gustach?
# Wyjaśnij, jak decyzje konsumentów wpływają na ceny finalne dóbr.
# W Polsce większość posiadaczy telewizorów musi płacić tzw. abonament radiowo-telewizyjny, aby finansować działalność kanałów telewizji publicznej i publicznych rozgłośni radiowych, nawet jeśli ich nie ogląda/nie słucha. Czy sądzisz, że to właściwe rozwiązanie?
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Pieniądz i funkcje pieniądza/]]
|[[../Koszty i ceny/]]
}}
c9g00gpsh0i58dd4mq4to65eegwsg9w
Wolna przedsiębiorczość/Koszty i ceny
0
57478
540886
491227
2026-04-26T18:24:50Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540886
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* w jaki sposób dane koszty decydują o cenie danego produktu,
* w jaki sposób cena produktu decyduje o kosztach jego wytworzenia,
* za co tak naprawdę płacisz, kupując produkty w sklepie,
* jak wyglądają zależności między przedsiębiorcami a konsumentami.
Najważniejsze pojęcia:
* ceny, koszty, dobra odtwarzalne, dobra nieodtwarzalne
== Wpływ kosztów na ceny ==
O finalnej cenie danego dobra decyduje gotowość konsumentów do jego kupienia. Jednakże ceny wszystkich dóbr na rynku są od siebie zależne. Na cenę danego dobra wpływa wiele dodatkowych czynników, nie tylko nasza gotowość do jego kupna. Żeby to sobie uświadomić, przeanalizujmy przykład takiego dobra jak chleb. Powiedzmy, że za chleb płacimy mniej więcej 2,5 złotego (wiele zależy od rodzaju chleba i naszego miejsca zamieszkania). Z pewnością jednak moglibyśmy zapłacić za niego więcej.
Nawet gdyby bochenek kosztował dwa razy więcej, wielu konsumentów wciąż byłoby gotowych kupić chleb. Ilość nabywana nadal pozostawałaby na względnie wysokim poziomie. Jeśli więc prawdą jest, że konsumenci
decydują o poziomie cen sprzedawanych dóbr, to dlaczego ceny dóbr bardzo pożądanych nie są bardzo wysokie?
Dlatego że któryś z producentów musiałby podnieść cenę. Tak się jednak nie stanie, ponieważ nie zrobiliby tego inni konkurencyjni dostawcy chleba. A przynajmniej nie mieliby powodu, bo utrzymując odpowiednio niższą cenę, zatrzymaliby u siebie klientów. Na tym polega siła konkurencji na rynku. Możemy jednak kontynuować nasze rozumowanie – dlaczego inni producenci mogą utrzymać niższą cenę?
Ponieważ pozwalają im na to niższe koszty produkcji. W wypadku produkcji chleba angażujemy różne czynniki produkcji: pracowników, mąkę, drożdże, wodę, piece. Za wszystkie płacimy odpowiednią cenę. Do tego
dochodzi również koszt alternatywny kapitału, który angażujemy w realizację produkcji (np. zamiast inwestować w przedsiębiorstwo, moglibyśmy odłożyć pieniądze na lokacie w banku). Wszystko to składa się na pewne koszty produkcji, które wskazują przedsiębiorcy na minimum opłacalności w jego działaniach. Jeśli te koszty są niskie, przedsiębiorca ma większe pole do tego, aby swój produkt sprzedawać za cenę niższą. Jeśli koszty są wysokie, przestrzeń do obniżania cen zmniejsza się.
Taki opis przebiegu produkcji pojawiał się we wczesnych pracach z dziedziny ekonomii – np. u wspomnianego już Davida Ricarda. Pierwsi ekonomiści zaczynali dostrzegać zależności między kosztami na rynku a cenami
dóbr finalnych. Jednocześnie zdawali sobie sprawę z tego, że ów opis odnosi się przede wszystkim do dóbr odtwarzalnych, czyli takich, które można wytworzyć od nowa (na które można ponosić od nowa koszty produkcji).
O takiej zależności trudno jednak mówić w wypadku dóbr nieodtwarzalnych (np. oryginalnych obrazów Picassa, których liczba jest skończona), skoro kiedyś już poniesiono koszty na ich wytworzenie i nie można tego
dokonać ponownie.
Tak ogólny opis procesu gospodarczego rozumie każdy, kto ma styczność z działalnością gospodarczą. Przedsiębiorca analizuje koszty, które musi ponieść, a następnie zaczyna się zastanawiać, jakie ceny zaakceptują konsumenci. Oczywiście rozważane są poziomy cen, które wystarczą na pokrycie wszystkich kosztów, a także pozwolą na osiągnięcie zarobku przez planującego przedsiębiorcę. Stąd wzięło się wnioskowanie – nie do końca poprawne – że o cenach produktów decydują koszty ich wytworzenia. Dodatkowych argumentów na rzecz tego twierdzenia dostarczają przypadki, gdy cała branża doświadcza wzrostu kosztów produkcji.
Wtedy następuje coś, co nie wystąpiłoby wcześniej – ceny u większości sprzedawców również się podnoszą, mimo że istnieje między nimi konkurencja.
== Czynniki wpływające na poziom kosztów ==
Przez długi czas taki opis zadowalał ekonomistów. Z czasem jednak (w XIX wieku) zaczęto się zastanawiać nad samą naturą kosztów. Można tłumaczyć poziom cen poziomem kosztów, ale jak wytłumaczyć poziom
samych kosztów?
Wróćmy do przykładu chleba. Powiedzmy, że koszt jego wytworzenia (uwzględniając także koszt alternatywny) wynosi minimum 2 złote. Konsument, który go kupuje (załóżmy, że producent nie robi nikomu prezentów), musi zapłacić przynajmniej taką cenę. Może się jednak okazać, że klient nie będzie zainteresowany kupnem (bo ma za daleko do piekarni albo woli piec chleb bezglutenowy w domu). Wtedy przedsiębiorca będzie musiał zamknąć swój biznes. Jego wytłumaczenie zaś może brzmieć: nie mogłem pokryć kosztów przychodami ze sprzedaży – a więc to koszty zdecydowały o zamknięciu piekarni.
Na tym jednak wytłumaczenie się nie kończy. Koszty to ceny oferowane przez sprzedawców czynników produkcji. Hipotetyczny piekarz nie był w stanie ponosić kosztów kupna mąki, pracy, pieców, wody, drożdży i energii. Ich ceny były zbyt wysokie. Skąd jednak brała się ich względnie wysoka cena? Stąd, że istnieli inni przedsiębiorcy, którzy gotowi byli je kupować: inni piekarze, którzy również chcieli kupować
mąkę do produkcji chleba, ciastek, bułek; inni przedsiębiorcy, którzy chcieli zatrudniać pracowników; inni, którzy nabywali potrzebny sprzęt. Można zatem powiedzieć, że przedsiębiorca przegrał „licytację” o czynniki produkcji.
Sytuacja jest analogiczna do przypadku konsumentów licytujących dany przedmiot na portalu sprzedażowym. Jeśli czegoś nie udało nam się kupić, oznacza to, że ktoś przebił naszą ofertę. Podobnie działa rynek
producentów. Oczywiście nie jest tak, że zwycięzca jest tylko jeden, jednak licytacja o czynniki produkcji sprawia, że niektórzy producenci nie mogą sobie pozwolić na ich kupno. W wyniku tego wypadają z rynku.
Tak też jest w przypadku naszego hipotetycznego piekarza. Nie może on pozwolić sobie na to, aby ponosić tak wysokie koszty jak pozostali producenci, a więc wypada z rynku. Ta porażka wynika z gotowości innych producentów do zapłacenia odpowiednio wyższej ceny za czynniki produkcji.
Z czego jednak wynika ich gotowość? Z tego, że sami mają do zaoferowania konsumentom produkty, które ci będą mogli zakupić po dostatecznie wysokiej cenie. Nasz hipotetyczny piekarz przegrywa na rynku
dlatego, że prawdopodobnie drożdże i mąka, które chce kupić, oraz pracownicy, których chce zatrudnić, mogą zostać użyte w bardziej opłacalnym projekcie. I jeśli chciałby te czynniki produkcji odciągnąć od tego
projektu, to musiałby zapłacić za nie stosowną cenę, która wyraża się właśnie kosztem produkcji. W tym miejscu napotykamy ponownie na znaną nam już koncepcję kosztu alternatywnego.
== Ceny i koszty jako pochodna decyzji konsumentów ==
Możemy zauważyć, że o wszystkich cenach na rynku decydują osta-
tecznie konsumenci. Z punktu widzenia jednego sprzedawcy, piekarza,
sytuacja rzeczywiście wygląda tak, że ceny jego ciastek i chleba są pochod-
ną kosztów ich produkcji: cen drożdży, mąki, sprzętu. Jednakże te kosz-
ty produkcji zależą od cen wszystkich innych rzeczy, które można przy
ich użyciu wytworzyć: od cen innych ciastek, chlebów, słodyczy, lodów.
Te ceny zależą z kolei od woli konsumentów, którzy są gotowi kupować
konkurencyjne produkty. Tak samo przedsiębiorcy konkurują o wszelkie
czynniki produkcji, również o ziemię. Cena ziemi wynika z gotowości
przedsiębiorców do zapłacenia za nią. A ich gotowość wynika ze speku-
lowania, jakie mogą być przyszłe poziomy cen sprzedawanych przez nich
dóbr (ponieważ działania te dotyczą przyszłości, zawsze istnieje ryzyko
popełnienia błędu).
Jeśli kupujesz produkt, to dajesz przedsiębiorcy informację, że do-
brze zorganizował swoje przedsiębiorstwo. Jeśli zdecydujesz się na
zakup, to znaczy, że przedsiębiorca odpowiednio zadbał o system
sprzedaży, marketing, dowóz towaru do sklepu, właściwie wyszkolił
ludzi itp. I odwrotnie – jeśli nie decydujesz się na zakup – to przedsię-
biorca powinien się zastanowić, co w swoim zakładzie zmienić. Być
może problem tkwi w samym produkcie, ale przeszkodą w osiągnię-
ciu sukcesu może być też kiepska organizacja.
Za każdym razem, gdy nabywamy produkt, pokrywamy koszty al-
ternatywne czynników służących do jego wytworzenia. Jeśli nabywamy
u sprzedawcy w galerii handlowej bawełnianą koszulkę, to jej cena musi
odpowiadać kosztom alternatywnym. Płacimy pośrednio za to, że baweł-
na nie została zużyta na produkcję obrusa. Płacimy za to, że produkt nie
trafił do innego sklepu. Płacimy za to, że sprzedawca został zatrudniony
w sklepie, a nie w restauracji obok. Swoimi indywidualnymi decyzjami
stawiamy konsumencki stempel, który potwierdza, że przedsiębiorca do-
brze zrobił, odciągając czynniki produkcji od konkurencyjnych zastoso-
wań i wytwarzając coś, co nabyliśmy. Ten wybór wraz z wyborami doko-
nywanymi przez innych kupujących składa się na aprobatę wcześniejszych decyzji przedsiębiorcy o dostarczeniu czegoś do sklepu (bądź w wypadku niekupienia – dezaprobatę).
Dlatego możemy powiedzieć, że wszelkie ceny na rynku są pochodną preferencji konsumentów. Konsumenci są „królami” procesów produkcji, ale dodajmy – „królami” nieobecnymi. Produkcja nie następuje automatycznie pod dyktando tego, czego konsumenci pragną najbardziej. Jej realizacja dokonuje się dzięki działalności przedsiębiorców, którzy starają się odkrywać możliwe sposoby produkcji i trafiać nimi w gusta konsumentów. I choć konsumenci są nieobecnymi „królami”, to przedsiębiorcy są działającymi na ich zlecenie bezpośrednimi kierownikami produkcji.
== Pytania i zadania ==
# Wyjaśnij na przykładzie jednej branży, jak koszty ponoszone przez przedsiębiorstwo wpływają na jej decyzje o ustalaniu cen.
# Opisz, odwołując się do odpowiedniego przykładu, jak zmiany preferencji konsumentów w jednej branży mogą wpływać na ceny w branżach pokrewnych.
# Wyjaśnij, dlaczego koszty są pochodną cen dóbr finalnych.
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Suwerenność konsumenta i ceny/]]
|[[../Rynek: prawa popytu i podaży/]]
}}
j3tbcape0x06hqb9cst8jwan3w20fbi
540887
540886
2026-04-26T18:27:57Z
Marek Mazurkiewicz
8990
redakcyjne
540887
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* w jaki sposób dane koszty decydują o cenie danego produktu,
* w jaki sposób cena produktu decyduje o kosztach jego wytworzenia,
* za co tak naprawdę płacisz, kupując produkty w sklepie,
* jak wyglądają zależności między przedsiębiorcami a konsumentami.
Najważniejsze pojęcia:
* ceny, koszty, dobra odtwarzalne, dobra nieodtwarzalne
== Wpływ kosztów na ceny ==
O finalnej cenie danego dobra decyduje gotowość konsumentów do jego kupienia. Jednakże ceny wszystkich dóbr na rynku są od siebie zależne. Na cenę danego dobra wpływa wiele dodatkowych czynników, nie tylko nasza gotowość do jego kupna. Żeby to sobie uświadomić, przeanalizujmy przykład takiego dobra jak chleb. Powiedzmy, że za chleb płacimy mniej więcej 2,5 złotego (wiele zależy od rodzaju chleba i naszego miejsca zamieszkania). Z pewnością jednak moglibyśmy zapłacić za niego więcej.
Nawet gdyby bochenek kosztował dwa razy więcej, wielu konsumentów wciąż byłoby gotowych kupić chleb. Ilość nabywana nadal pozostawałaby na względnie wysokim poziomie. Jeśli więc prawdą jest, że konsumenci
decydują o poziomie cen sprzedawanych dóbr, to dlaczego ceny dóbr bardzo pożądanych nie są bardzo wysokie?
Dlatego że któryś z producentów musiałby podnieść cenę. Tak się jednak nie stanie, ponieważ nie zrobiliby tego inni konkurencyjni dostawcy chleba. A przynajmniej nie mieliby powodu, bo utrzymując odpowiednio niższą cenę, zatrzymaliby u siebie klientów. Na tym polega siła konkurencji na rynku. Możemy jednak kontynuować nasze rozumowanie – dlaczego inni producenci mogą utrzymać niższą cenę?
Ponieważ pozwalają im na to niższe koszty produkcji. W wypadku produkcji chleba angażujemy różne czynniki produkcji: pracowników, mąkę, drożdże, wodę, piece. Za wszystkie płacimy odpowiednią cenę. Do tego
dochodzi również koszt alternatywny kapitału, który angażujemy w realizację produkcji (np. zamiast inwestować w przedsiębiorstwo, moglibyśmy odłożyć pieniądze na lokacie w banku). Wszystko to składa się na pewne koszty produkcji, które wskazują przedsiębiorcy na minimum opłacalności w jego działaniach. Jeśli te koszty są niskie, przedsiębiorca ma większe pole do tego, aby swój produkt sprzedawać za cenę niższą. Jeśli koszty są wysokie, przestrzeń do obniżania cen zmniejsza się.
Taki opis przebiegu produkcji pojawiał się we wczesnych pracach z dziedziny ekonomii – np. u wspomnianego już Davida Ricarda. Pierwsi ekonomiści zaczynali dostrzegać zależności między kosztami na rynku a cenami
dóbr finalnych. Jednocześnie zdawali sobie sprawę z tego, że ów opis odnosi się przede wszystkim do dóbr odtwarzalnych, czyli takich, które można wytworzyć od nowa (na które można ponosić od nowa koszty produkcji).
O takiej zależności trudno jednak mówić w wypadku dóbr nieodtwarzalnych (np. oryginalnych obrazów Picassa, których liczba jest skończona), skoro kiedyś już poniesiono koszty na ich wytworzenie i nie można tego
dokonać ponownie.
Tak ogólny opis procesu gospodarczego rozumie każdy, kto ma styczność z działalnością gospodarczą. Przedsiębiorca analizuje koszty, które musi ponieść, a następnie zaczyna się zastanawiać, jakie ceny zaakceptują konsumenci. Oczywiście rozważane są poziomy cen, które wystarczą na pokrycie wszystkich kosztów, a także pozwolą na osiągnięcie zarobku przez planującego przedsiębiorcę. Stąd wzięło się wnioskowanie – nie do końca poprawne – że o cenach produktów decydują koszty ich wytworzenia. Dodatkowych argumentów na rzecz tego twierdzenia dostarczają przypadki, gdy cała branża doświadcza wzrostu kosztów produkcji.
Wtedy następuje coś, co nie wystąpiłoby wcześniej – ceny u większości sprzedawców również się podnoszą, mimo że istnieje między nimi konkurencja.
== Czynniki wpływające na poziom kosztów ==
Przez długi czas taki opis zadowalał ekonomistów. Z czasem jednak (w XIX wieku) zaczęto się zastanawiać nad samą naturą kosztów. Można tłumaczyć poziom cen poziomem kosztów, ale jak wytłumaczyć poziom
samych kosztów?
Wróćmy do przykładu chleba. Powiedzmy, że koszt jego wytworzenia (uwzględniając także koszt alternatywny) wynosi minimum 2 złote. Konsument, który go kupuje (załóżmy, że producent nie robi nikomu prezentów), musi zapłacić przynajmniej taką cenę. Może się jednak okazać, że klient nie będzie zainteresowany kupnem (bo ma za daleko do piekarni albo woli piec chleb bezglutenowy w domu). Wtedy przedsiębiorca będzie musiał zamknąć swój biznes. Jego wytłumaczenie zaś może brzmieć: nie mogłem pokryć kosztów przychodami ze sprzedaży – a więc to koszty zdecydowały o zamknięciu piekarni.
Na tym jednak wytłumaczenie się nie kończy. Koszty to ceny oferowane przez sprzedawców czynników produkcji. Hipotetyczny piekarz nie był w stanie ponosić kosztów kupna mąki, pracy, pieców, wody, drożdży i energii. Ich ceny były zbyt wysokie. Skąd jednak brała się ich względnie wysoka cena? Stąd, że istnieli inni przedsiębiorcy, którzy gotowi byli je kupować: inni piekarze, którzy również chcieli kupować
mąkę do produkcji chleba, ciastek, bułek; inni przedsiębiorcy, którzy chcieli zatrudniać pracowników; inni, którzy nabywali potrzebny sprzęt. Można zatem powiedzieć, że przedsiębiorca przegrał „licytację” o czynniki produkcji.
Sytuacja jest analogiczna do przypadku konsumentów licytujących dany przedmiot na portalu sprzedażowym. Jeśli czegoś nie udało nam się kupić, oznacza to, że ktoś przebił naszą ofertę. Podobnie działa rynek
producentów. Oczywiście nie jest tak, że zwycięzca jest tylko jeden, jednak licytacja o czynniki produkcji sprawia, że niektórzy producenci nie mogą sobie pozwolić na ich kupno. W wyniku tego wypadają z rynku.
Tak też jest w przypadku naszego hipotetycznego piekarza. Nie może on pozwolić sobie na to, aby ponosić tak wysokie koszty jak pozostali producenci, a więc wypada z rynku. Ta porażka wynika z gotowości innych producentów do zapłacenia odpowiednio wyższej ceny za czynniki produkcji.
Z czego jednak wynika ich gotowość? Z tego, że sami mają do zaoferowania konsumentom produkty, które ci będą mogli zakupić po dostatecznie wysokiej cenie. Nasz hipotetyczny piekarz przegrywa na rynku
dlatego, że prawdopodobnie drożdże i mąka, które chce kupić, oraz pracownicy, których chce zatrudnić, mogą zostać użyte w bardziej opłacalnym projekcie. I jeśli chciałby te czynniki produkcji odciągnąć od tego
projektu, to musiałby zapłacić za nie stosowną cenę, która wyraża się właśnie kosztem produkcji. W tym miejscu napotykamy ponownie na znaną nam już koncepcję kosztu alternatywnego.
== Ceny i koszty jako pochodna decyzji konsumentów ==
Możemy zauważyć, że o wszystkich cenach na rynku decydują ostatecznie konsumenci. Z punktu widzenia jednego sprzedawcy, piekarza, sytuacja rzeczywiście wygląda tak, że ceny jego ciastek i chleba są pochodną kosztów ich produkcji: cen drożdży, mąki, sprzętu. Jednakże te koszty produkcji zależą od cen wszystkich innych rzeczy, które można przy ich użyciu wytworzyć: od cen innych ciastek, chlebów, słodyczy, lodów.
Te ceny zależą z kolei od woli konsumentów, którzy są gotowi kupować konkurencyjne produkty. Tak samo przedsiębiorcy konkurują o wszelkie czynniki produkcji, również o ziemię. Cena ziemi wynika z gotowości
przedsiębiorców do zapłacenia za nią. A ich gotowość wynika ze spekulowania, jakie mogą być przyszłe poziomy cen sprzedawanych przez nich dóbr (ponieważ działania te dotyczą przyszłości, zawsze istnieje ryzyko
popełnienia błędu).
Jeśli kupujesz produkt, to dajesz przedsiębiorcy informację, że dobrze zorganizował swoje przedsiębiorstwo. Jeśli zdecydujesz się na zakup, to znaczy, że przedsiębiorca odpowiednio zadbał o system sprzedaży, marketing, dowóz towaru do sklepu, właściwie wyszkolił ludzi itp. I odwrotnie – jeśli nie decydujesz się na zakup – to przedsiębiorca powinien się zastanowić, co w swoim zakładzie zmienić. Być może problem tkwi w samym produkcie, ale przeszkodą w osiągnięciu sukcesu może być też kiepska organizacja.
Za każdym razem, gdy nabywamy produkt, pokrywamy koszty alternatywne czynników służących do jego wytworzenia. Jeśli nabywamy u sprzedawcy w galerii handlowej bawełnianą koszulkę, to jej cena musi odpowiadać kosztom alternatywnym. Płacimy pośrednio za to, że bawełna nie została zużyta na produkcję obrusa. Płacimy za to, że produkt nie
trafił do innego sklepu. Płacimy za to, że sprzedawca został zatrudniony w sklepie, a nie w restauracji obok. Swoimi indywidualnymi decyzjami stawiamy konsumencki stempel, który potwierdza, że przedsiębiorca do-
brze zrobił, odciągając czynniki produkcji od konkurencyjnych zastosowań i wytwarzając coś, co nabyliśmy. Ten wybór wraz z wyborami dokonywanymi przez innych kupujących składa się na aprobatę wcześniejszych decyzji przedsiębiorcy o dostarczeniu czegoś do sklepu (bądź w wypadku niekupienia – dezaprobatę).
Dlatego możemy powiedzieć, że wszelkie ceny na rynku są pochodną preferencji konsumentów. Konsumenci są „królami” procesów produkcji, ale dodajmy – „królami” nieobecnymi. Produkcja nie następuje automatycznie pod dyktando tego, czego konsumenci pragną najbardziej. Jej realizacja dokonuje się dzięki działalności przedsiębiorców, którzy starają się odkrywać możliwe sposoby produkcji i trafiać nimi w gusta konsumentów. I choć konsumenci są nieobecnymi „królami”, to przedsiębiorcy są działającymi na ich zlecenie bezpośrednimi kierownikami produkcji.
== Pytania i zadania ==
# Wyjaśnij na przykładzie jednej branży, jak koszty ponoszone przez przedsiębiorstwo wpływają na jej decyzje o ustalaniu cen.
# Opisz, odwołując się do odpowiedniego przykładu, jak zmiany preferencji konsumentów w jednej branży mogą wpływać na ceny w branżach pokrewnych.
# Wyjaśnij, dlaczego koszty są pochodną cen dóbr finalnych.
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Suwerenność konsumenta i ceny/]]
|[[../Rynek: prawa popytu i podaży/]]
}}
cewsxe3r0srpi9n32bfiucoehdie0pq
Wolna przedsiębiorczość/Rynek: prawa popytu i podaży
0
57480
540895
474269
2026-04-26T18:44:23Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540895
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* czym jest rynek i jakie są jego rodzaje,
* czym są popyt i podaż,
* w jakim celu wprowadza się pojęcia praw popytu i podaży,
* dlaczego wiedza ekonomiczna jest ograniczona.
Najważniejsze pojęcia:
- mechanizm rynkowy, popyt, podaż, prawa ekonomii
== Rynek i rodzaje rynków ==
W zasadzie cały dział I podręcznika jest poświęcony działaniu tak zwanego mechanizmu rynkowego, czyli procesu ekonomicznego, który przebiega pomiędzy wszystkimi członkami społeczeństwa, wymieniającymi
między sobą dobra i usługi. Ilekroć bowiem dochodzi do transakcji wymiany między dwiema stronami, możemy mówić o zaistnieniu rynku.
Rynek obejmuje swoim zasięgiem całokształt stosunków ekonomicznych wynikających z prób podejmowania i realizowania transakcji jednostronnego lub obustronnego oferowania dóbr i usług. Dlatego mówimy o rynku
nie tylko wtedy, gdy do wymiany dochodzi, ale nawet wtedy, gdy pojawiają się jedynie propozycje wymiany (składanie ofert). Obiektem wymiany może być wszystko, zarówno dobra materialne, jak i niematerialne. Trze-
ba przy tym zdawać sobie sprawę, że wbrew mylącej nazwie rynek nie jest miejscem, ale zjawiskiem kreowanym przez współdziałających ludzi.
W jaki sposób możemy klasyfikować rynki? Rynek każdego dobra jest w zasadzie unikatowy. Inaczej wygląda rynek jabłek, a inaczej rynek samochodów. Możemy jednak zastosować rozróżnienie na bardziej ogólnym poziomie. Możemy mówić o rynku dóbr konsumpcyjnych, na którym wymieniane są dobra finalne (samochody, żywność, rozrywka itd.).
Równolegle do niego istnieje rynek czynników produkcji – pracy, ziemi
i dóbr kapitałowych, które są nabywane przez przedsiębiorców. Obok
nich istnieje rynek finansowy, na którym oszczędzający dostarczają swoje56
Dział I. Podstawy ekonomii
środki na inwestycje (np. kupując akcje lub odkładając pieniądze na loka-
tach bankowych).
Oprócz tego rynki klasyfikujemy terytorialnie (polski, amerykański, mo-
nachijski, kataloński itd.). W literaturze ekonomicznej pojawia się również
pojęcie rynku nabywcy. Jest to rynek relatywnie korzystny dla odbiorcy
produktu (np. gdy jest duża konkurencja). W opozycji do tego mówi się
o rynku dostawcy, gdy ten jest relatywnie korzystniejszy dla dostarczycie-
la towaru (w sytuacji, gdy natężenie konkurencji jest mniejsze).
Na każdy z tych rynków składa się ogół wszystkich ofert transakcji
kupna i sprzedaży. Mimo że każdy z tych rynków odznacza się szczegól-
nymi cechami, łączy je to, że są poddane prawom popytu i podaży. Na
każdym rynku są ci, którzy składają oferty kupna (reprezentujący popyt),
oraz ci, którzy składają oferty sprzedaży (reprezentujący podaż).
Prawo popy t u
W wielkim uproszczeniu popytem nazywa się skłonność konsumentów
do nabywania danego dobra. Jednak nie chodzi w tym wypadku o to, co
rzeczywiście ludzie kupują w danej chwili, ale również o wszelkie możliwe
scenariusze kupowania przez nich dobra. Powiedzmy, że pewnego wieczoru
w barze dziesięciu klientów kupiło w sumie 30 lemoniad. W tym przypadku
30 napojów to faktyczna ilość nabyta, w pewnym sensie „popyt zrealizowa-
ny”. Gdy jednak rozważamy popyt w szerokim sensie, traktujemy go jako
skłonność ludzi do nabywania towarów. Nie chodzi zatem tylko o to, jaką
ilość danego dobra ludzie nabyli, ale również o to, jaką ilość mogliby kupić,
gdyby zmieniły się okoliczności ich wyborów.
W ten sposób prowadzi się teoretyczne rozważania nad tym, jaki jest
popyt konsumentów. W przytoczonym przykładzie ilość nabyta wynio-
sła 30 napojów. Ale zasadne jest postawienie jeszcze kilku innych pytań.
Na przykład, ile wynosiłaby ilość nabyta, gdyby bar miał lepszy wystrój?
Ile napojów zostałoby kupionych, gdyby obok baru był konkurencyjny
lokal? Ile napojów zostałoby kupionych, gdyby obok znajdował się sklep
spożywczy i ładny park nad rzeką? Ile napojów by kupiono, gdyby sprze-
dawany produkt miał atrakcyjniejszą nazwę? A gdyby w lokalu była od-
twarzana ciekawsza muzyka? Co w wypadku, gdyby pogoda była inna?
Wreszcie pojawia się pytanie: a ile napojów kupiliby klienci, gdyby
cena sprzedaży napoju była inna, czyli wyższa albo niższa? Jak wtedy
zareagowaliby konsumenci?9. Rynek: prawa popytu i podaży
57
Są to oczywiście bardzo realne pytania, na które przedsiębiorcy nie-
ustannie starają się odpowiadać. Zależność między różnymi czynnikami
a skłonnością ludzi do kupowania nazywana jest funkcją popytu. Pod tą
techniczną nazwą kryje się prosta prawda: na decyzje konsumentów o ku-
powaniu towarów i usług wpływa bardzo wiele czynników.
W takim wyimaginowanym przykładzie tym, co nas najbardziej intere-
suje, jest zależność popytu – potencjalnej chęci nabywania dóbr – od jed-
nego z najważniejszych czynników: ceny. Gdy w opracowaniach ekono-
micznych pojawia się określenie „prawo popytu”, odnosi się ono właśnie
do tego, w jaki sposób ludzie reagują na zmianę ceny danego dobra przy
jednoczesnym założeniu, że inne czynniki nie będą się zmieniać. Jest to
tzw. założenie ceteris paribus [wym. ceteris paribus, znaczenie: jeśli reszta
jest taka sama]. W jego ramach wyobrażamy sobie, że zmieniamy tylko
jeden czynnik w analizowanym przypadku (np. cena danego produktu).
Następnie próbujemy wnioskować, jak zmieni się sytuacja (np. na rynku
konkretnego dobra) w wyniku tej jednej zmiany. Im cena będzie niższa,
tym skłonność ludzi do kupowania napojów w barze będzie większa. Im
cena będzie wyższa, tym skłonność ludzi do kupowania napojów będzie
mniejsza.
Mówiąc o prawie popytu, mówimy w gruncie rzeczy o tym, jak konsu-
menci zareagowaliby na podwyżki lub obniżki cen przy niezmienionych
pozostałych warunkach. Reakcja ta zawsze będzie zależała od preferencji
konsumentów, od ich kaprysów, przekonań, uprzedzeń i upodobań. Nie
ma gwarancji, że na przykład obniżka ceny o 5 procent spowoduje wzrost
ilości nabywanej o 10 procent. Co więcej, nawet jeśli zaobserwowaliśmy
w przeszłości taką zależność, to nie ma żadnej gwarancji, że w przyszło-
ści się to powtórzy. Gusta i preferencje konsumentów ciągle się zmienia-
ją. A trudny los przedsiębiorców polega na tym, że muszą próbować je
przewidywać.
Prawo pod aż y
Prawo podaży jest bardzo podobne do prawa popytu, odnosi się jed-
nak nie do kupujących, lecz do sprzedawców. Oni także działają w roz-
maitych warunkach, które mogą się zmieniać. Jeśli jednak założymy,
że te warunki są w miarę niezmienne, to również możemy wskazać
na zależność między ilością produktu, którą chcą sprzedać sprzedaw-
cy, a ceną, po jakiej będą go sprzedawać. Prawo podaży, odwrotnie do58
Dział I. Podstawy ekonomii
prawa popytu, mówi o tym, że im wyższa cena, ceteris paribus, tym
bardziej skłonni są sprzedawcy do dostarczania produktów na rynek,
gdyż dzięki temu mogą więcej zarobić. Im cena niższa, tym mniejsza
jest skłonność do dostarczania produktów na rynek. Pamiętajmy jed-
nak, że rzeczywista sytuacja często zależy od kombinacji bardzo wielu
czynników, a nie tylko od ceny. Równie ważne jak końcowe ceny są dla
przedsiębiorców koszty ich działalności.
Wykor zyst anie praw popy t u i pod aż y
Prawa popytu i podaży pozwalają opisywać, jak w ramach rynku prze-
biega proces kształtowania się cen. Znajomość tych praw nie pozwala jed-
nak przewidzieć przyszłych rynkowych cen dóbr. Te bowiem ustalane są
w wyniku nieustannego targowania się, w którym uczestniczą nabywcy
i sprzedawcy. Ekonomia nie pozwala przewidywać zmian w interesującym
nas fragmencie rzeczywistości, tak jak czyni to astronomia, wyznaczając
przykładowo przyszłe pozycje planet na nieboskłonie. Przyciąganie ziem-
skie jest siłą zmieniającą się w przewidywalny sposób – czego nie można
powiedzieć o skłonności konsumenta do nabywania danego dobra.
Czy wiesz, że...?
W historii gospodarczej świata i Polski jest wiele przykładów przed-
siębiorstw, które kiedyś dostarczały konsumentom bardzo uży-
teczne i pożądane przez nich towary, a dzisiaj już nie istnieją albo
prowadzą działalność na o wiele mniejszą skalę. Przeszłe sukcesy
w żaden sposób nie dają gwarancji sukcesów w przyszłości. Czasem
okazuje się, że produkt, na który w przeszłości istniał wysoki popyt,
dzisiaj już jest przestarzały, bo zmianie uległy gusta konsumentów.
Zmieniają się także preferowane przez konsumentów formy dys-
trybucji dóbr. Przekonała się o tym niedawno spółka Alma Market,
będąca właścicielem sieci luksusowych delikatesów Alma. Firma
powstała w latach 90. i przez wiele lat świetnie się rozwijała, jednak
nie wytrzymała konkurencji z dyskontami, które zaczęły wprowa-
dzać do swojego asortymentu luksusowe produkty, a w paździer-
niku 2016 roku złożyła wniosek o upadłość i zamknęła większość
sklepów działających w ramach jej sieci.9. Rynek: prawa popytu i podaży
59
Można wobec tego postawić pytanie: dlaczego w takim razie poświę-
cać uwagę prawom popytu i podaży? Ponieważ pozwalają na systematy-
zowanie zjawisk objętych rynkiem i ogólny opis kierunku zmian zacho-
dzących w ramach niego – w sytuacji, gdy nie potrafimy przewidywać
przyszłych warunków (co jest przedmiotem przedsiębiorczego zgadywa-
nia). W nauce bowiem nie zawsze chodzi o przewidywanie albo osią-
gnięcie stadium pełni wiedzy, lecz czasami także o zrozumienie tego,
co następuje. W przypadku ekonomii rzecz dotyczy zrozumienia zacho-
dzących zjawisk ekonomicznych. W ekonomii raczej wyjaśniamy, niż
przewidujemy.
Prawa popytu i podaży pozwalają zobrazować, jak działają konsumen-
ci i producenci. Nawet jeśli nie uda nam się przewidzieć końcowych po-
ziomów cen na rynku, będziemy mogli zrozumieć, jak konsumenci i pro-
ducenci zareagują na ceny wyższe i niższe.
== Pytania i zadania ==
# Czym jest rynek i jakie są jego rodzaje?
# Wyjaśnij na przykładzie, czym jest prawo popytu.
# Podaj przykłady produktów, na które popyt był kiedyś bardzo duży, a dzisiaj jest wyraźnie mniejszy. Wyjaśnij, skąd mogą się brać takie zmiany?
# Wyjaśnij na przykładzie, czym jest prawo podaży.
# Czy przedsiębiorcy mogą dokładnie poznać funkcję popytu na ich produkty? Uzasadnij odpowiedź.
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Koszty i ceny/]]
|[[../Ilustracje krzywych popytu i podaży/]]
}}
awdq32ov5lncstd0oge2upj6x51eulw
540900
540895
2026-04-26T19:01:38Z
Marek Mazurkiewicz
8990
redakcyjne cdn
540900
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* czym jest rynek i jakie są jego rodzaje,
* czym są popyt i podaż,
* w jakim celu wprowadza się pojęcia praw popytu i podaży,
* dlaczego wiedza ekonomiczna jest ograniczona.
Najważniejsze pojęcia:
- mechanizm rynkowy, popyt, podaż, prawa ekonomii
== Rynek i rodzaje rynków ==
W zasadzie cały dział I podręcznika jest poświęcony działaniu tak zwanego mechanizmu rynkowego, czyli procesu ekonomicznego, który przebiega pomiędzy wszystkimi członkami społeczeństwa, wymieniającymi
między sobą dobra i usługi. Ilekroć bowiem dochodzi do transakcji wymiany między dwiema stronami, możemy mówić o zaistnieniu rynku.
Rynek obejmuje swoim zasięgiem całokształt stosunków ekonomicznych wynikających z prób podejmowania i realizowania transakcji jednostronnego lub obustronnego oferowania dóbr i usług. Dlatego mówimy o rynku
nie tylko wtedy, gdy do wymiany dochodzi, ale nawet wtedy, gdy pojawiają się jedynie propozycje wymiany (składanie ofert). Obiektem wymiany może być wszystko, zarówno dobra materialne, jak i niematerialne. Trze-
ba przy tym zdawać sobie sprawę, że wbrew mylącej nazwie rynek nie jest miejscem, ale zjawiskiem kreowanym przez współdziałających ludzi.
W jaki sposób możemy klasyfikować rynki? Rynek każdego dobra jest w zasadzie unikatowy. Inaczej wygląda rynek jabłek, a inaczej rynek samochodów. Możemy jednak zastosować rozróżnienie na bardziej ogólnym poziomie. Możemy mówić o rynku dóbr konsumpcyjnych, na którym wymieniane są dobra finalne (samochody, żywność, rozrywka itd.).
Równolegle do niego istnieje rynek czynników produkcji – pracy, ziemi i dóbr kapitałowych, które są nabywane przez przedsiębiorców. Obok nich istnieje rynek finansowy, na którym oszczędzający dostarczają swoje środki na inwestycje (np. kupując akcje lub odkładając pieniądze na loka tach bankowych).
Oprócz tego rynki klasyfikujemy terytorialnie (polski, amerykański, monachijski, kataloński itd.). W literaturze ekonomicznej pojawia się również pojęcie rynku nabywcy. Jest to rynek relatywnie korzystny dla odbiorcy produktu (np. gdy jest duża konkurencja). W opozycji do tego mówi się o rynku dostawcy, gdy ten jest relatywnie korzystniejszy dla dostarczyciela towaru (w sytuacji, gdy natężenie konkurencji jest mniejsze).
Na każdy z tych rynków składa się ogół wszystkich ofert transakcji kupna i sprzedaży. Mimo że każdy z tych rynków odznacza się szczególnymi cechami, łączy je to, że są poddane prawom popytu i podaży. Na
każdym rynku są ci, którzy składają oferty kupna (reprezentujący popyt), oraz ci, którzy składają oferty sprzedaży (reprezentujący podaż).
== Prawo popytu ==
W wielkim uproszczeniu popytem nazywa się skłonność konsumentów do nabywania danego dobra. Jednak nie chodzi w tym wypadku o to, co rzeczywiście ludzie kupują w danej chwili, ale również o wszelkie możliwe scenariusze kupowania przez nich dobra. Powiedzmy, że pewnego wieczoru w barze dziesięciu klientów kupiło w sumie 30 lemoniad. W tym przypadku 30 napojów to faktyczna ilość nabyta, w pewnym sensie „popyt zrealizowany”. Gdy jednak rozważamy popyt w szerokim sensie, traktujemy go jako skłonność ludzi do nabywania towarów. Nie chodzi zatem tylko o to, jaką ilość danego dobra ludzie nabyli, ale również o to, jaką ilość mogliby kupić,
gdyby zmieniły się okoliczności ich wyborów.
W ten sposób prowadzi się teoretyczne rozważania nad tym, jaki jest popyt konsumentów. W przytoczonym przykładzie ilość nabyta wyniosła 30 napojów. Ale zasadne jest postawienie jeszcze kilku innych pytań.
Na przykład, ile wynosiłaby ilość nabyta, gdyby bar miał lepszy wystrój?
Ile napojów zostałoby kupionych, gdyby obok baru był konkurencyjny lokal? Ile napojów zostałoby kupionych, gdyby obok znajdował się sklep spożywczy i ładny park nad rzeką? Ile napojów by kupiono, gdyby sprzedawany produkt miał atrakcyjniejszą nazwę? A gdyby w lokalu była odtwarzana ciekawsza muzyka? Co w wypadku, gdyby pogoda była inna?
Wreszcie pojawia się pytanie: a ile napojów kupiliby klienci, gdyby cena sprzedaży napoju była inna, czyli wyższa albo niższa? Jak wtedy zareagowaliby konsumenci?
Są to oczywiście bardzo realne pytania, na które przedsiębiorcy nie-
ustannie starają się odpowiadać. Zależność między różnymi czynnikami
a skłonnością ludzi do kupowania nazywana jest funkcją popytu. Pod tą
techniczną nazwą kryje się prosta prawda: na decyzje konsumentów o ku-
powaniu towarów i usług wpływa bardzo wiele czynników.
W takim wyimaginowanym przykładzie tym, co nas najbardziej intere-
suje, jest zależność popytu – potencjalnej chęci nabywania dóbr – od jed-
nego z najważniejszych czynników: ceny. Gdy w opracowaniach ekono-
micznych pojawia się określenie „prawo popytu”, odnosi się ono właśnie
do tego, w jaki sposób ludzie reagują na zmianę ceny danego dobra przy
jednoczesnym założeniu, że inne czynniki nie będą się zmieniać. Jest to
tzw. założenie ceteris paribus [wym. ceteris paribus, znaczenie: jeśli reszta
jest taka sama]. W jego ramach wyobrażamy sobie, że zmieniamy tylko
jeden czynnik w analizowanym przypadku (np. cena danego produktu).
Następnie próbujemy wnioskować, jak zmieni się sytuacja (np. na rynku
konkretnego dobra) w wyniku tej jednej zmiany. Im cena będzie niższa,
tym skłonność ludzi do kupowania napojów w barze będzie większa. Im
cena będzie wyższa, tym skłonność ludzi do kupowania napojów będzie
mniejsza.
Mówiąc o prawie popytu, mówimy w gruncie rzeczy o tym, jak konsu-
menci zareagowaliby na podwyżki lub obniżki cen przy niezmienionych
pozostałych warunkach. Reakcja ta zawsze będzie zależała od preferencji
konsumentów, od ich kaprysów, przekonań, uprzedzeń i upodobań. Nie
ma gwarancji, że na przykład obniżka ceny o 5 procent spowoduje wzrost
ilości nabywanej o 10 procent. Co więcej, nawet jeśli zaobserwowaliśmy
w przeszłości taką zależność, to nie ma żadnej gwarancji, że w przyszło-
ści się to powtórzy. Gusta i preferencje konsumentów ciągle się zmienia-
ją. A trudny los przedsiębiorców polega na tym, że muszą próbować je
przewidywać.
Prawo pod aż y
Prawo podaży jest bardzo podobne do prawa popytu, odnosi się jed-
nak nie do kupujących, lecz do sprzedawców. Oni także działają w roz-
maitych warunkach, które mogą się zmieniać. Jeśli jednak założymy,
że te warunki są w miarę niezmienne, to również możemy wskazać
na zależność między ilością produktu, którą chcą sprzedać sprzedaw-
cy, a ceną, po jakiej będą go sprzedawać. Prawo podaży, odwrotnie do58
Dział I. Podstawy ekonomii
prawa popytu, mówi o tym, że im wyższa cena, ceteris paribus, tym
bardziej skłonni są sprzedawcy do dostarczania produktów na rynek,
gdyż dzięki temu mogą więcej zarobić. Im cena niższa, tym mniejsza
jest skłonność do dostarczania produktów na rynek. Pamiętajmy jed-
nak, że rzeczywista sytuacja często zależy od kombinacji bardzo wielu
czynników, a nie tylko od ceny. Równie ważne jak końcowe ceny są dla
przedsiębiorców koszty ich działalności.
Wykor zyst anie praw popy t u i pod aż y
Prawa popytu i podaży pozwalają opisywać, jak w ramach rynku prze-
biega proces kształtowania się cen. Znajomość tych praw nie pozwala jed-
nak przewidzieć przyszłych rynkowych cen dóbr. Te bowiem ustalane są
w wyniku nieustannego targowania się, w którym uczestniczą nabywcy
i sprzedawcy. Ekonomia nie pozwala przewidywać zmian w interesującym
nas fragmencie rzeczywistości, tak jak czyni to astronomia, wyznaczając
przykładowo przyszłe pozycje planet na nieboskłonie. Przyciąganie ziem-
skie jest siłą zmieniającą się w przewidywalny sposób – czego nie można
powiedzieć o skłonności konsumenta do nabywania danego dobra.
Czy wiesz, że...?
W historii gospodarczej świata i Polski jest wiele przykładów przed-
siębiorstw, które kiedyś dostarczały konsumentom bardzo uży-
teczne i pożądane przez nich towary, a dzisiaj już nie istnieją albo
prowadzą działalność na o wiele mniejszą skalę. Przeszłe sukcesy
w żaden sposób nie dają gwarancji sukcesów w przyszłości. Czasem
okazuje się, że produkt, na który w przeszłości istniał wysoki popyt,
dzisiaj już jest przestarzały, bo zmianie uległy gusta konsumentów.
Zmieniają się także preferowane przez konsumentów formy dys-
trybucji dóbr. Przekonała się o tym niedawno spółka Alma Market,
będąca właścicielem sieci luksusowych delikatesów Alma. Firma
powstała w latach 90. i przez wiele lat świetnie się rozwijała, jednak
nie wytrzymała konkurencji z dyskontami, które zaczęły wprowa-
dzać do swojego asortymentu luksusowe produkty, a w paździer-
niku 2016 roku złożyła wniosek o upadłość i zamknęła większość
sklepów działających w ramach jej sieci.9. Rynek: prawa popytu i podaży
59
Można wobec tego postawić pytanie: dlaczego w takim razie poświę-
cać uwagę prawom popytu i podaży? Ponieważ pozwalają na systematy-
zowanie zjawisk objętych rynkiem i ogólny opis kierunku zmian zacho-
dzących w ramach niego – w sytuacji, gdy nie potrafimy przewidywać
przyszłych warunków (co jest przedmiotem przedsiębiorczego zgadywa-
nia). W nauce bowiem nie zawsze chodzi o przewidywanie albo osią-
gnięcie stadium pełni wiedzy, lecz czasami także o zrozumienie tego,
co następuje. W przypadku ekonomii rzecz dotyczy zrozumienia zacho-
dzących zjawisk ekonomicznych. W ekonomii raczej wyjaśniamy, niż
przewidujemy.
Prawa popytu i podaży pozwalają zobrazować, jak działają konsumen-
ci i producenci. Nawet jeśli nie uda nam się przewidzieć końcowych po-
ziomów cen na rynku, będziemy mogli zrozumieć, jak konsumenci i pro-
ducenci zareagują na ceny wyższe i niższe.
== Pytania i zadania ==
# Czym jest rynek i jakie są jego rodzaje?
# Wyjaśnij na przykładzie, czym jest prawo popytu.
# Podaj przykłady produktów, na które popyt był kiedyś bardzo duży, a dzisiaj jest wyraźnie mniejszy. Wyjaśnij, skąd mogą się brać takie zmiany?
# Wyjaśnij na przykładzie, czym jest prawo podaży.
# Czy przedsiębiorcy mogą dokładnie poznać funkcję popytu na ich produkty? Uzasadnij odpowiedź.
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Koszty i ceny/]]
|[[../Ilustracje krzywych popytu i podaży/]]
}}
lm03ge0036yrjnninrsk2a37g60dq7b
540914
540900
2026-04-27T04:48:02Z
Marek Mazurkiewicz
8990
Redakcyjne cdn
540914
wikitext
text/x-wiki
Z tego rozdziału dowiesz się:
* czym jest rynek i jakie są jego rodzaje,
* czym są popyt i podaż,
* w jakim celu wprowadza się pojęcia praw popytu i podaży,
* dlaczego wiedza ekonomiczna jest ograniczona.
Najważniejsze pojęcia:
- mechanizm rynkowy, popyt, podaż, prawa ekonomii
== Rynek i rodzaje rynków ==
W zasadzie cały dział I podręcznika jest poświęcony działaniu tak zwanego mechanizmu rynkowego, czyli procesu ekonomicznego, który przebiega pomiędzy wszystkimi członkami społeczeństwa, wymieniającymi
między sobą dobra i usługi. Ilekroć bowiem dochodzi do transakcji wymiany między dwiema stronami, możemy mówić o zaistnieniu rynku.
Rynek obejmuje swoim zasięgiem całokształt stosunków ekonomicznych wynikających z prób podejmowania i realizowania transakcji jednostronnego lub obustronnego oferowania dóbr i usług. Dlatego mówimy o rynku
nie tylko wtedy, gdy do wymiany dochodzi, ale nawet wtedy, gdy pojawiają się jedynie propozycje wymiany (składanie ofert). Obiektem wymiany może być wszystko, zarówno dobra materialne, jak i niematerialne. Trze-
ba przy tym zdawać sobie sprawę, że wbrew mylącej nazwie rynek nie jest miejscem, ale zjawiskiem kreowanym przez współdziałających ludzi.
W jaki sposób możemy klasyfikować rynki? Rynek każdego dobra jest w zasadzie unikatowy. Inaczej wygląda rynek jabłek, a inaczej rynek samochodów. Możemy jednak zastosować rozróżnienie na bardziej ogólnym poziomie. Możemy mówić o rynku dóbr konsumpcyjnych, na którym wymieniane są dobra finalne (samochody, żywność, rozrywka itd.).
Równolegle do niego istnieje rynek czynników produkcji – pracy, ziemi i dóbr kapitałowych, które są nabywane przez przedsiębiorców. Obok nich istnieje rynek finansowy, na którym oszczędzający dostarczają swoje środki na inwestycje (np. kupując akcje lub odkładając pieniądze na loka tach bankowych).
Oprócz tego rynki klasyfikujemy terytorialnie (polski, amerykański, monachijski, kataloński itd.). W literaturze ekonomicznej pojawia się również pojęcie rynku nabywcy. Jest to rynek relatywnie korzystny dla odbiorcy produktu (np. gdy jest duża konkurencja). W opozycji do tego mówi się o rynku dostawcy, gdy ten jest relatywnie korzystniejszy dla dostarczyciela towaru (w sytuacji, gdy natężenie konkurencji jest mniejsze).
Na każdy z tych rynków składa się ogół wszystkich ofert transakcji kupna i sprzedaży. Mimo że każdy z tych rynków odznacza się szczególnymi cechami, łączy je to, że są poddane prawom popytu i podaży. Na
każdym rynku są ci, którzy składają oferty kupna (reprezentujący popyt), oraz ci, którzy składają oferty sprzedaży (reprezentujący podaż).
== Prawo popytu ==
W wielkim uproszczeniu popytem nazywa się skłonność konsumentów do nabywania danego dobra. Jednak nie chodzi w tym wypadku o to, co rzeczywiście ludzie kupują w danej chwili, ale również o wszelkie możliwe scenariusze kupowania przez nich dobra. Powiedzmy, że pewnego wieczoru w barze dziesięciu klientów kupiło w sumie 30 lemoniad. W tym przypadku 30 napojów to faktyczna ilość nabyta, w pewnym sensie „popyt zrealizowany”. Gdy jednak rozważamy popyt w szerokim sensie, traktujemy go jako skłonność ludzi do nabywania towarów. Nie chodzi zatem tylko o to, jaką ilość danego dobra ludzie nabyli, ale również o to, jaką ilość mogliby kupić,
gdyby zmieniły się okoliczności ich wyborów.
W ten sposób prowadzi się teoretyczne rozważania nad tym, jaki jest popyt konsumentów. W przytoczonym przykładzie ilość nabyta wyniosła 30 napojów. Ale zasadne jest postawienie jeszcze kilku innych pytań.
Na przykład, ile wynosiłaby ilość nabyta, gdyby bar miał lepszy wystrój?
Ile napojów zostałoby kupionych, gdyby obok baru był konkurencyjny lokal? Ile napojów zostałoby kupionych, gdyby obok znajdował się sklep spożywczy i ładny park nad rzeką? Ile napojów by kupiono, gdyby sprzedawany produkt miał atrakcyjniejszą nazwę? A gdyby w lokalu była odtwarzana ciekawsza muzyka? Co w wypadku, gdyby pogoda była inna?
Wreszcie pojawia się pytanie: a ile napojów kupiliby klienci, gdyby cena sprzedaży napoju była inna, czyli wyższa albo niższa? Jak wtedy zareagowaliby konsumenci?
Są to oczywiście bardzo realne pytania, na które przedsiębiorcy nie-
ustannie starają się odpowiadać. Zależność między różnymi czynnikami
a skłonnością ludzi do kupowania nazywana jest funkcją popytu. Pod tą
techniczną nazwą kryje się prosta prawda: na decyzje konsumentów o ku-
powaniu towarów i usług wpływa bardzo wiele czynników.
W takim wyimaginowanym przykładzie tym, co nas najbardziej intere-
suje, jest zależność popytu – potencjalnej chęci nabywania dóbr – od jednego z najważniejszych czynników: ceny. Gdy w opracowaniach ekonomicznych pojawia się określenie „prawo popytu”, odnosi się ono właśnie do tego, w jaki sposób ludzie reagują na zmianę ceny danego dobra przy jednoczesnym założeniu, że inne czynniki nie będą się zmieniać. Jest to tzw. założenie ceteris paribus [wym. ceteris paribus, znaczenie: jeśli reszta jest taka sama]. W jego ramach wyobrażamy sobie, że zmieniamy tylko jeden czynnik w analizowanym przypadku (np. cena danego produktu).
Następnie próbujemy wnioskować, jak zmieni się sytuacja (np. na rynku
konkretnego dobra) w wyniku tej jednej zmiany. Im cena będzie niższa,
tym skłonność ludzi do kupowania napojów w barze będzie większa. Im
cena będzie wyższa, tym skłonność ludzi do kupowania napojów będzie
mniejsza.
Mówiąc o prawie popytu, mówimy w gruncie rzeczy o tym, jak konsu-
menci zareagowaliby na podwyżki lub obniżki cen przy niezmienionych
pozostałych warunkach. Reakcja ta zawsze będzie zależała od preferencji
konsumentów, od ich kaprysów, przekonań, uprzedzeń i upodobań. Nie
ma gwarancji, że na przykład obniżka ceny o 5 procent spowoduje wzrost
ilości nabywanej o 10 procent. Co więcej, nawet jeśli zaobserwowaliśmy
w przeszłości taką zależność, to nie ma żadnej gwarancji, że w przyszło-
ści się to powtórzy. Gusta i preferencje konsumentów ciągle się zmieniają. A trudny los przedsiębiorców polega na tym, że muszą próbować je przewidywać.
== Prawo podaży ==
Prawo podaży jest bardzo podobne do prawa popytu, odnosi się jed-
nak nie do kupujących, lecz do sprzedawców. Oni także działają w rozmaitych warunkach, które mogą się zmieniać. Jeśli jednak założymy,
że te warunki są w miarę niezmienne, to również możemy wskazać
na zależność między ilością produktu, którą chcą sprzedać sprzedawcy, a ceną, po jakiej będą go sprzedawać. Prawo podaży, odwrotnie do prawa popytu, mówi o tym, że im wyższa cena, ceteris paribus, tym
bardziej skłonni są sprzedawcy do dostarczania produktów na rynek,
gdyż dzięki temu mogą więcej zarobić. Im cena niższa, tym mniejsza
jest skłonność do dostarczania produktów na rynek. Pamiętajmy jed-
nak, że rzeczywista sytuacja często zależy od kombinacji bardzo wielu
czynników, a nie tylko od ceny. Równie ważne jak końcowe ceny są dla
przedsiębiorców koszty ich działalności.
== Wykorzystanie praw popy tu i podaży ==
Prawa popytu i podaży pozwalają opisywać, jak w ramach rynku prze-
biega proces kształtowania się cen. Znajomość tych praw nie pozwala jed-
nak przewidzieć przyszłych rynkowych cen dóbr. Te bowiem ustalane są
w wyniku nieustannego targowania się, w którym uczestniczą nabywcy
i sprzedawcy. Ekonomia nie pozwala przewidywać zmian w interesującym
nas fragmencie rzeczywistości, tak jak czyni to astronomia, wyznaczając
przykładowo przyszłe pozycje planet na nieboskłonie. Przyciąganie ziem-
skie jest siłą zmieniającą się w przewidywalny sposób – czego nie można
powiedzieć o skłonności konsumenta do nabywania danego dobra.
Czy wiesz, że...?
W historii gospodarczej świata i Polski jest wiele przykładów przed-
siębiorstw, które kiedyś dostarczały konsumentom bardzo uży-
teczne i pożądane przez nich towary, a dzisiaj już nie istnieją albo
prowadzą działalność na o wiele mniejszą skalę. Przeszłe sukcesy
w żaden sposób nie dają gwarancji sukcesów w przyszłości. Czasem
okazuje się, że produkt, na który w przeszłości istniał wysoki popyt,
dzisiaj już jest przestarzały, bo zmianie uległy gusta konsumentów.
Zmieniają się także preferowane przez konsumentów formy dys-
trybucji dóbr. Przekonała się o tym niedawno spółka Alma Market,
będąca właścicielem sieci luksusowych delikatesów Alma. Firma
powstała w latach 90. i przez wiele lat świetnie się rozwijała, jednak
nie wytrzymała konkurencji z dyskontami, które zaczęły wprowa-
dzać do swojego asortymentu luksusowe produkty, a w paździer-
niku 2016 roku złożyła wniosek o upadłość i zamknęła większość
sklepów działających w ramach jej sieci.9. Rynek: prawa popytu i podaży
59
Można wobec tego postawić pytanie: dlaczego w takim razie poświę-
cać uwagę prawom popytu i podaży? Ponieważ pozwalają na systematy-
zowanie zjawisk objętych rynkiem i ogólny opis kierunku zmian zacho-
dzących w ramach niego – w sytuacji, gdy nie potrafimy przewidywać
przyszłych warunków (co jest przedmiotem przedsiębiorczego zgadywa-
nia). W nauce bowiem nie zawsze chodzi o przewidywanie albo osią-
gnięcie stadium pełni wiedzy, lecz czasami także o zrozumienie tego,
co następuje. W przypadku ekonomii rzecz dotyczy zrozumienia zacho-
dzących zjawisk ekonomicznych. W ekonomii raczej wyjaśniamy, niż
przewidujemy.
Prawa popytu i podaży pozwalają zobrazować, jak działają konsumen-
ci i producenci. Nawet jeśli nie uda nam się przewidzieć końcowych po-
ziomów cen na rynku, będziemy mogli zrozumieć, jak konsumenci i pro-
ducenci zareagują na ceny wyższe i niższe.
== Pytania i zadania ==
# Czym jest rynek i jakie są jego rodzaje?
# Wyjaśnij na przykładzie, czym jest prawo popytu.
# Podaj przykłady produktów, na które popyt był kiedyś bardzo duży, a dzisiaj jest wyraźnie mniejszy. Wyjaśnij, skąd mogą się brać takie zmiany?
# Wyjaśnij na przykładzie, czym jest prawo podaży.
# Czy przedsiębiorcy mogą dokładnie poznać funkcję popytu na ich produkty? Uzasadnij odpowiedź.
{{Nawigacja
|Wolna przedsiębiorczość
|[[../Koszty i ceny/]]
|[[../Ilustracje krzywych popytu i podaży/]]
}}
nzow3zgneyj7cgf9rv0dquor3h371ww
Moduł:Pudełko/Potrzebne
828
58908
540955
540443
2026-04-27T11:25:24Z
Persino
2851
540955
Scribunto
text/plain
local p={}
function p.Problemy_kontenerowe_szablonowe(frame, kod_liczbowy_przestrzeni_nazw)
local pf=frame:getParent();
local parametry_modul=require("Module:Parametry");
local zkategoria=not parametry_modul.CzyTak(frame.args["bez kategorii"] or pf.args["bez kategorii"]);
local brudnopis_wikibooks=parametry_modul.CzyTak(frame.args["obsługiwany brudnopis projektu"]);
local brudnopis_modul=parametry_modul.CzyTak(frame.args["obsługiwany brudnopis modułu"]);
local brudnopis_szablon=parametry_modul.CzyTak(frame.args["obsługiwany brudnopis szablonu"]);
local nieobslugiwane_strony_glowne=parametry_modul.CzyTak(frame.args["nieobsługiwane strony główne"]);
local nieobslugiwane_strony_szablonow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony szablonów"]);
local nieobslugiwane_strony_opisu_szablonow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony opisu szablonów"]);
local nieobslugiwane_strony_modulow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony modułów"]);
local nieobslugiwane_strony_opisu_modulow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony opisu szablonów"]);
local nieobslugiwane_strony_brudnopisu_szablonow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony brudnopisu szablonów"]);
local nieobslugiwane_strony_brudnopisu_opisu_szablonow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony brudnopisu opisu szablonów"]);
local nieobslugiwane_strony_brudnopisu_modulow=parametry_modul.CzyTak(frame.args["nieobsługiwane strony brudnopisu modułów"]);
local nieobslugiwane_strony_brudnopisu_opisu_modulow=parametry_modul.CzyTak(frame.args["nieobsługiwane strona brudnopisu opisu modułów"]);
local nieobslugiwane_strony_jednostek_programowych=parametry_modul.CzyTak(frame.args["nieobsługiwane strony jednostek programowych"]);
local nieobslugiwane_strony_opisu_jednostek_programowych=parametry_modul.CzyTak(frame.args["nieobsługiwane strony opisu jednostek programowych"]);
local nieobslugiwana_strony_glowne_uzytkownikow=nieobslugiwane_strony_glowne or parametry_modul.CzyTak(frame.args["nieobsługiwane strony główne użytkowników"]);
local nieobslugiwana_strona_glowna_projektu=nieobslugiwane_strony_glowne or parametry_modul.CzyTak(frame.args["nieobsługiwana strona główna projektu"]);
local nieobslugiwana_strona_glowna_dla_dzieci=nieobslugiwane_strony_glowne or parametry_modul.CzyTak(frame.args["nieobsługiwana strona główna dla dzieci"]);
local obslugiwane_niebiezace_wiki=parametry_modul.CzyTak(frame.args["obsługiwane niebieżące wiki"]);
local nieobslugiwane_polskie_wiki=parametry_modul.CzyTak(frame.args["nieobsługiwane polskie wiki"]);
local nieobslugiwane_lokalne_wiki=parametry_modul.CzyTak(frame.args["nieobsługiwane lokalne wiki"]);
local podkategoria_niebiezace_wiki;
local wskazuje_wiki;
local nazwij_jednostka=parametry_modul.CzyTak(frame.args["nazwij jednostką"] or pf.args["nazwij jednostką"]);
local wylocz_niezaleznosc_od_nazwij_jednostka=parametry_modul.CzyTak(frame.args["wyłącz niezależność od nazwij jednostką"]);
local w_user_jako_strony_uzykownika=parametry_modul.CzyTak(frame.args["obsługiwane indywidua użytkownika jako normalne strony"]);
local pudelko_modul=require("Module:Pudełko");
local lancuch_bledow={};
local tablica_lancuch_kategorii_bledow={};
local czy_ze_szczegolami=not parametry_modul.CzyTak(frame.args["bez szczegółów"] or pf.args["bez szczegółów"]);
local wiki_modul=require("Module:Wiki");
local kod_jezyka_tego_projektu;
local kod_projektu_tego_projektu;
local pudelko_modul=require("Module:Pudełko");
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
local function AnalizujDane(i)
local kod_jezyka;local kod_projektu;
if(obslugiwane_niebiezace_wiki or nieobslugiwane_polskie_wiki or nieobslugiwane_lokalne_wiki)then
kod_jezyka,kod_projektu=pudelko_pomocne_modul.Wikikody_kontenera(frame,i);
else
kod_jezyka=pudelko_modul["Kod języka tego projektu"]();
kod_projektu=pudelko_modul["Kod projektu tego projektu"]();
end;
if(i>0)then
if(obslugiwane_niebiezace_wiki or nieobslugiwane_polskie_wiki or nieobslugiwane_lokalne_wiki)then
local klucz_projektu2=pudelko_pomocne_modul.Klucz_projektu(frame,i);
local kod_jezyka2=pudelko_pomocne_modul.Kod_jezyka(frame,i);
local kod_projektu2=pudelko_pomocne_modul.Kod_projektu(frame,i);
podkategoria_niebiezace_wiki=podkategoria_niebiezace_wiki
or (obslugiwane_niebiezace_wiki and "bieżące wiki"
or ((nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki)
and "polskie lub lokalne, wiki"
or ((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki)
and "polskie wiki" or "lokalne wiki"
) or nil));
wskazuje_wiki=wskazuje_wiki
or (obslugiwane_niebiezace_wiki and "niebieżący"
or ((nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki)
and "niepolski i nielokalny"
or ((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki)
and "niepolski" or "nielokalny"
) or nil));
if(not(klucz_projektu2 or kod_jezyka2 or kod_projektu2))then
if((obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki)or(nieobslugiwane_lokalne_wiki))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,"<li>Nie podano, które wiki ma osbługiwać, dla zmiennych o numerze "..i..".</li>");
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
return;
else
return "tak";
end;
end;
else
local wynik=wiki_modul:OddawajDaneKodyWiki(klucz_projektu2,kod_jezyka2,kod_projektu2);
if((type(wynik)=="table") and (wynik[4]) and (wynik[5])) then
if((obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki)or(nieobslugiwane_lokalne_wiki))then
local pudelko_modul=require("Module:Pudełko");
local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"]();
local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"]();
if(parametry_modul.CzyTak(klucz_projektu2))then
if((kod_jezyka)and(kod_projektu))then
if(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu==kod_projektu_tego_projektu)then
table.insert(lancuch_bledow,"<li>Podany klucz projektu, a w nim: kod języka i kod projektu, nie wskazują na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
--projekt_lokalny_lub_polski_kategorie(podkategoria_niebiezace_wiki);
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
elseif((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki) or (nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki))and(kod_jezyka==kod_jezyka_tego_projektu)then
table.insert(lancuch_bledow,"<li>Podany klucz projektu: a w nim: kod języka, nie wskazuje na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
elseif(((not nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki))and(kod_projektu==kod_projektu_tego_projektu))then
table.insert(lancuch_bledow,"<li>Podany klucz projektu: a w nim: kod projektu, nie wskazuje na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
end;
end;
else
if (kod_jezyka2 and kod_projektu2
and ((((kod_jezyka2==kod_jezyka_tego_projektu)and(kod_projektu2~=kod_projektu_tego_projektu))
or(((not nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)
or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki))and(kod_jezyka2~=kod_jezyka_tego_projektu)and(kod_projektu2==kod_projektu_tego_projektu))
or(((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)
or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)
or obslugiwane_niebiezace_wiki)and(kod_jezyka2==kod_jezyka_tego_projektu)and(kod_projektu2==kod_projektu_tego_projektu))
)
or(((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki))
and(kod_jezyka2==kod_jezyka_tego_projektu))
or(((not nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki))
and(kod_projektu2==kod_projektu_tego_projektu))
))then
table.insert(lancuch_bledow,"<li>Podany: kod języka i kod projektu, nie wskazują na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
elseif((kod_jezyka2 and not kod_projektu2) and ((((nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or obslugiwane_niebiezace_wiki)and (kod_jezyka2==kod_jezyka_tego_projektu))or(not nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)))
then
table.insert(lancuch_bledow,"<li>Podany kod języka nie wskazuje na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
elseif((not kod_jezyka2 and kod_projektu2)and
(((((not nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or obslugiwane_niebiezace_wiki))and (kod_projektu2==kod_projektu_tego_projektu))or(nieobslugiwane_polskie_wiki and not nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)or(nieobslugiwane_polskie_wiki and nieobslugiwane_lokalne_wiki and not obslugiwane_niebiezace_wiki)))
then
table.insert(lancuch_bledow,"<li>Podany kod projektu nie wskazuje na projekt "..wskazuje_wiki..", dla zmiennych o numerze "..i..".</li>");
if(czy_ze_szczegolami)then
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - "..podkategoria_niebiezace_wiki);
end;
else
return "tak";
end;
end;
end;
end;
else
if(czy_ze_szczegolami)then
if(wynik[1])then
table.insert(lancuch_bledow,"<li>Podany klucz projektu, jest błędny, dla zmiennych o numerze "..i..".</li>");
elseif(not wynik[4] and not wynik[5])then
table.insert(lancuch_bledow,"<li>Podany: kod języka i kod projektu, są błędne, dla zmiennych o numerze "..i..".</li>");
elseif(not wynik[4])then
table.insert(lancuch_bledow,"<li>Podany kod języka, jest błędny, dla zmiennych o numerze "..i..".</li>");
elseif(not wynik[5])then
table.insert(lancuch_bledow,"<li>Podany kod projektu, jest błędny, dla zmiennych o numerze "..i..".</li>");
end;
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - błędne parametry wiki");
end;
else
return "tak";
end;
end;
end;
end;
end;
local obslugiwane1=pudelko_pomocne_modul.Czy_przestrzen_nazw_jest_obslugiwana(frame,"Template",kod_jezyka,kod_projektu);
local obslugiwane2=pudelko_pomocne_modul.Czy_przestrzen_nazw_jest_obslugiwana(frame,"Module",kod_jezyka,kod_projektu);
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,kod_liczbowy_przestrzeni_nazw,nil,i)
local nazwy_modul=require("Module:Nazwy");
local wiki_modul=require("Module:Wiki");
local czy_biezaca=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
local czy_blad_nazwa_przestrzeni_nazw;
if(czy_biezaca)then
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.Np{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
else
czy_blad_nazwa_przestrzeni_nazw=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni_nazw,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
end;
if(not czy_blad_nazwa_przestrzeni_nazw)then
if((i==0)or ((i>0)and pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_dodatkowe(frame,i)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,(i==0)
and "<li>Wartość, nazwy przestrzeni nazw, dla korzystanej jednostki jest nieprawidłowa.</li>"
or "<li>Wartość, nazwy przestrzeni nazw, dla zmiennych o numerze "..i.." jest nieprawidłowa.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa przestrzeni nazw");
end;
else
return "tak";
end;
end;
end;
if(nazwa_jednostki=="")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,(i==0)
and"<li>Wartość, nazwy jednostki, dla korzystanej jednostki jest pusta.</li>"
or"<li>Wartość, nazwy jednostki, dla zmiennych o numerze "..i.." jest pusta.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - pusta nazwa jednostki");
end;
else
return "tak";
end;
end;
local mo,norm_przed_lub_dyskusji;
local nieprawidlowa_niepusta_pelna_nazwa_jednostki=false;
if(czy_blad_nazwa_przestrzeni_nazw)then
if(nazwa_jednostki~="")then
nieprawidlowa_niepusta_pelna_nazwa_jednostki=pudelko_modul.CzyNiepoprawnaNazwa(((parametry_modul.CzyTak(czy_blad_nazwa_przestrzeni_nazw))and czy_blad_nazwa_przestrzeni_nazw..":" or "")..nazwa_jednostki);
mo=(not nieprawidlowa_niepusta_pelna_nazwa_jednostki)and pudelko_pomocne_modul.Typ_jednostki(frame, kod_liczbowy_przestrzeni_nazw,i) or nil;
end;
norm_przed_lub_dyskusji=pudelko_pomocne_modul.Normalna_przedmiotowa_lub_dyskusji_nazwa_przestrzeni_nazw(czy_blad_nazwa_przestrzeni_nazw, kod_liczbowy_przestrzeni_nazw) or nil;
end;
if((czy_blad_nazwa_przestrzeni_nazw)and(nazwa_jednostki~=""))then
if((i==0)or ((i>0)and pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_dodatkowe(frame,i)))then
local obslugiwane=czy_blad_nazwa_przestrzeni_nazw and pudelko_pomocne_modul.Czy_przestrzen_nazw_jest_obslugiwana(frame,czy_blad_nazwa_przestrzeni_nazw,kod_jezyka,kod_projektu);
if((not obslugiwane)and((not mo)or(not(((czy_blad_nazwa_przestrzeni_nazw=="Project")and(brudnopis_wikibooks
and(((mo=="jednostka brudnopisu projektu")or(mo=="strona brudnopisu projektu")or(mo=="podręcznik brudnopisu projektu")or(mo=="artykuł brudnopisu projektu"))or(parametry_modul.CzyTak(nazwa_jednostki)and(mw.ustring.match(nazwa_jednostki,"^[Bb]rudnopis/.*"))))))
or((czy_blad_nazwa_przestrzeni_nazw=="Template")and(parametry_modul.CzyTak(brudnopis_szablon)
and(((mo=="strona brudnopisu szablonu")or(mo=="strona brudnopisu opisu szablonu"))or(parametry_modul.CzyTak(nazwa_jednostki)and(mw.ustring.match(nazwa_jednostki,"^[Bb]rudnopis/.*"))))))
or((czy_blad_nazwa_przestrzeni_nazw=="Module")and(parametry_modul.CzyTak(brudnopis_modul)
and(((mo=="strona brudnopisu modułu")or(mo=="strona brudnopisu opisu modułu"))or(parametry_modul.CzyTak(nazwa_jednostki)and(mw.ustring.match(nazwa_jednostki,"^[Bb]rudnopis/.*")))))))))
)then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Szablon wartości, nazwy przestrzeni nazw, dla korzystanej jednostki nie obsługuje.</li>"
or"<li>Szablon wartości, nazwy przestrzeni nazw, dla zmiennych o numerze "..i.." nie obsługuje.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana przestrzeń nazw");
end;
else
return "tak";
end;
end;
end;
end;
--local nieprawidlowa_niepusta_pelna_nazwa_jednostki=false;
if(czy_blad_nazwa_przestrzeni_nazw and nazwa_jednostki~="")then
if(nieprawidlowa_niepusta_pelna_nazwa_jednostki)then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość, nazwy jednostki, dla korzystanej jednostki jest nieprawidłowa.</li>"
or"<li>Wartość, nazwy jednostki, dla zmiennych o numerze "..i.." jest nieprawidłowa.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa jednostki");
end;
else
return "tak";
end;
end;
end;
if(czy_blad_nazwa_przestrzeni_nazw)and(nazwa_jednostki~="")then
if((not nieprawidlowa_niepusta_pelna_nazwa_jednostki)and((czy_blad_nazwa_przestrzeni_nazw=="")and(nazwa_jednostki~="")))then
local nazwy_modul=require("Module:Nazwy");
local nowa_nazwa_przestrzeni_nazw=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=nazwa_jednostki,["kod języka"]=kod_jezyka,["kod projektu"]=kod_projektu,};
if(nowa_nazwa_przestrzeni_nazw~="")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Zmienna <code>nazwa jednostki</code> zawiera w sobie przestrzeń.</li>"
or"<li>Zmienna nienazwana "..i.." zawiera w sobie przestrzeń.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nazwa jednostki zawierająca w sobie przestrzeń");
end;
else
return "tak";
end;
end;
end;
end;
if((obslugiwane1)and(mo)and(mo=="strona szablonu")and((nieobslugiwane_strony_szablonow)or (nieobslugiwane_strony_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona szablonu jest nieobsługiwana.</li>"
or"<li>Strona szablonu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona szablonu");
end;
else
return "tak";
end;
end;
if((obslugiwane1)and(mo)and(mo=="strona opisu szablonu")and((nieobslugiwane_strony_opisu_szablonow)or (nieobslugiwane_strony_opisu_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona opisu szablonu jest nieobsługiwana.</li>"
or"<li>Strona opisu szablonu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona opisu szablonu");
end;
else
return "tak";
end;
end;
if((obslugiwane2)and(mo)and(mo=="strona modułu")and((nieobslugiwane_strony_modulow)or (nieobslugiwane_strony_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona modułu jest nieobsługiwana.</li>"
or"<li>Strona modułu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona modułu");
end;
else
return "tak";
end;
end;
if((obslugiwane2)and(mo)and(mo=="strona opisu modułu")and((nieobslugiwane_strony_opisu_modulow)or (nieobslugiwane_strony_opisu_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona opisu modułu jest nieobsługiwana.</li>"
or"<li>Strona opisu modułu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona opisu modułu");
end;
else
return "tak";
end;
end;
if((mo)and(mo=="strona brudnopisu szablonu")and((nieobslugiwane_strony_brudnopisu_szablonow)or (nieobslugiwane_strony_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona brudnopisu szablonu jest nieobsługiwana.</li>"
or"<li>Strona brudnopisu szablonu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona brudnopisu szablonu");
end;
else
return "tak";
end;
end;
if((mo)and(mo=="strona brudnopisu opisu szablonu")and((nieobslugiwane_strony_brudnopisu_opisu_szablonow)or (nieobslugiwane_strony_opisu_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona brudnopisu opisu szablonu jest nieobsługiwana.</li>"
or"<li>Strona brudnopisu opisu szablonu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona brudnopisu opisu szablonu");
end;
else
return "tak";
end;
end;
if((mo)and(mo=="strona brudnopisu modułu")and((nieobslugiwane_strony_brudnopisu_modulow)or (nieobslugiwane_strony_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona brudnopisu modulu jest nieobsługiwana.</li>"
or"<li>Strona brudnopisu modułu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona brudnopisu modułu");
end;
else
return "tak";
end;
end;
if((mo)and(mo=="strona brudnopisu opisu modułu")and((nieobslugiwane_strony_brudnopisu_opisu_modulow)or (nieobslugiwane_strony_opisu_jednostek_programowych)))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Strona brudnopisu opisu modułu jest nieobsługiwana.</li>"
or"<li>Strona brudnopisu opisu modułu wskazującego na zmienną "..i.." jest nieobsługiwana.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona brudnopisu opisu modułu");
end;
else
return "tak";
end;
end;
if(((i>0)and(frame.args["strona główna projektu "..i] or pf.args["strona główna projektu "..i]))
or ((i==0)and(frame.args["strona główna projektu"] or pf.args["strona główna projektu"])))then
local projekt=pudelko_pomocne_modul.Nazwa_strony_bazowej_projektu_ze_zmiennej(frame,i,kod_jezyka,kod_projektu);
local nazwa_strony_glownej_projektu_z_wikidanych=pudelko_pomocne_modul.Nazwa_strony_bazowej_projektu_z_wikidanych(kod_jezyka,kod_projektu);
projekt=(not projekt)and nazwa_strony_glownej_projektu_z_wikidanych or projekt;
local dowolna_nazwa_strony_glownej_projektu=parametry_modul.CzyTak(frame.args["dowolna nazwa strony głównej projektu"]);
if(projekt)then
if(projekt=="")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej projektu, dla zmiennej <code>strona główna projektu</code> jest pusta.</li>"
or "<li>Wartość nazwy, strony głównej projektu, dla zmiennej <code>strona główna projektu .."..i.."</code> jest pusta.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - pusta nazwa strony głównej projektu");
end;
else
return "tak";
end;
elseif((not dowolna_nazwa_strony_glownej_projektu)and(not mw.ustring.match(projekt,"^[^/]+$")))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej projektu, dla zmiennej <code>strona główna projektu</code> zawiera prawe ukośniki.</li>"
or "<li>Wartość nazwy, strony głównej projektu, dla zmiennej <code>strona główna projektu "..i.."</code> zawiera prawe ukośniki</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa strony głównej projektu");
end;
else
return "tak";
end;
elseif(pudelko_modul.CzyNiepoprawnaNazwa(projekt))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej projektu, w zmiennej <code>strona główna projektu</code> ma nazwę niepustą nieprawidłową.</li>"
or "<li>Wartość nazwy, strony głównej projektu, w zmiennej <code>strona główna projektu "..i.."</code> ma nazwę niepustą nieprawidłową.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa strony głównej projektu");
end;
else
return "tak";
end;
end;
end;
end;
local typ=frame.args["typ jednostki"..((i)and((i~=0))and (" "..i) or "")] or pf.args["typ jednostki"..((i)and((i~=0))and (" "..i) or "")];
if((czy_blad_nazwa_przestrzeni_nazw)and(nazwa_jednostki~="")and(not nieprawidlowa_niepusta_pelna_nazwa_jednostki))then
if(nieobslugiwana_strona_glowna_projektu)then
if(mo=="strona główna projektu")then
if(czy_ze_szczegolami)then
if(typ~="strona główna projektu")then
table.insert(lancuch_bledow,
(i==0)and"<li>Wstawiono szablon na stronę główną projektu.</li>"
or ((frame.args["strona główna projektu "..i]
or pf.args["strona główna projektu "..i])and"<li>Szablon, wskazuje na stronę główna projektu, według zmiennej <code>strona główna projektu "..i.."</code>, dla zmiennych o numerze "..i..".</li>"
or"<li>Szablon, wskazuje na stronę główną projektu, dla zmiennych o numerze "..i..".</li>"
));
else
table.insert(lancuch_bledow,(i==0)and "<li>Wstawiono szablon, na stronę, z ustawioną wartością <code>typ jednostki = strona główna projektu</code>.</li>"
or"<li>Wstawiono szablon, na stronę, z ustawioną wartością <code>typ jednostki "..i.." = strona główna projektu</code>.</li>"
);
end;
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona główna projektu");
end;
else
return "tak";
end;
end;
end;
end;
if(kod_projektu==require("Module:Pudełko")["Kod projektu tego projektu"]())then
if(((i>0)and(frame.args["strona główna dla dzieci "..i] or pf.args["strona główna dla dzieci "..i]))
or ((i==0)and(frame.args["strona główna dla dzieci"] or pf.args["strona główna dla dzieci"])))then
local junior=pudelko_pomocne_modul.Nazwa_strony_bazowej_dla_dzieci_ze_zmiennej(frame,i,kod_jezyka,kod_projektu);
local nazwa_strony_glownej_wikijuniora_z_wikidanych=pudelko_pomocne_modul.Nazwa_strony_bazowej_dla_dzieci_z_wikidanych(kod_jezyka)
junior=(not junior)and nazwa_strony_glownej_wikijuniora_z_wikidanych or junior;
local dowolna_nazwa_strony_glownej_wikijuniora=parametry_modul.CzyTak(frame.args["dowolna nazwa strony głównej dla dzieci"]);
if(junior)then
if(junior=="")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci</code> jest pusta.</li>"
or "<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci .."..i.."</code> jest pusta.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - pusta nazwa strony głównej dla dzieci");
end;
else
return "tak";
end;
elseif((not dowolna_nazwa_strony_glownej_wikijuniora)and(not mw.ustring.match(junior,"^[^/]+$")))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci</code> zawiera prawe ukośniki.</li>"
or"<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci "..i.."</code> zawiera prawe ukośniki.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa strony głównej dla dzieci");
end;
else
return "tak";
end;
elseif(pudelko_modul.CzyNiepoprawnaNazwa(junior))then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci</code> ma nazwę niepustą nieprawidłową.</li>"
or"<li>Wartość nazwy, strony głównej dla dzieci, w zmiennej <code>strona główna dla dzieci "..i.."</code> ma nazwę niepustą nieprawidłową.</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa nazwa strony głównej dla dzieci");
end;
else
return "tak";
end;
end;
end;
end;
if((czy_blad_nazwa_przestrzeni_nazw)and(nazwa_jednostki~="")and(not nieprawidlowa_niepusta_pelna_nazwa_jednostki))then
if(nieobslugiwana_strona_glowna_dla_dzieci)then
if(mo=="strona główna dla dzieci")then
if(czy_ze_szczegolami)then
if(typ~="strona główna dla dzieci")then
table.insert(lancuch_bledow,
(i==0)and"<li>Wstawiono szablon na stronę główną dla dzieci.</li>"
or ((frame.args["strona główna dla dzieci "..i]
or pf.args["strona główna dla dzieci "..i])and"<li>Szablon, wskazuje na stronę główną dla dzieci, według zmiennej <code>strona główna dla dzieci .."..i..", dla zmiennych o numerze "..i..".</code>.</li>"
or"<li>Szablon, wskazuje na stronę główną dla dzieci, dla zmiennych o numerze "..i..".</li>"
));
else
table.insert(lancuch_bledow,(i==0)and "<li>Wstawiono szablon, na stronę, z ustawioną wartością <code>typ jednostki = strona główna dla dzieci</code>.</li>"
or"<li>Wstawiono szablon, na stronę, z ustawioną wartością <code>typ jednostki "..i.." = strona główna dla dzieci</code>.</li>"
);
end
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona główna dla dzieci");
end;
else
return "tak";
end;
end;
end;
end;
end;
local obslugiwane3=(czy_blad_nazwa_przestrzeni_nazw)and((norm_przed_lub_dyskusji=="User") and pudelko_pomocne_modul.Czy_przestrzen_nazw_jest_obslugiwana(frame,"User",kod_jezyka,kod_projektu));
if((czy_blad_nazwa_przestrzeni_nazw)and(nazwa_jednostki~="")and(not nieprawidlowa_niepusta_pelna_nazwa_jednostki)and(obslugiwane3))then
if(nieobslugiwana_strony_glowne_uzytkownikow)then
if(mo=="strona główna użytkownika")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and "<li>Wstawiono szablon na stronę główną użytkownika.</li>"
or"<li>Szablon, wskazuje na stronę główną użytkownika, dla zmiennych o numerze "..i..".</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona główna użytkownika");
end;
else
return "tak";
end;
elseif((mo~="jednostka użytkownika")and(mo~="podręcznik użytkownika")and(mo~="artykuł użytkownika")and(mo~="strona główna użytkownika")and((mo~="strona użytkownika")or(w_user_jako_strony_uzykownika)))then
if(czy_ze_szczegolami)then
if(mw.ustring.match(nazwa_jednostki,"^[^/]+$"))then
table.insert(lancuch_bledow,
(i==0)and "<li>Wstawiono szablon na stronę główną użytkownika.</li>"
or"<li>Szablon, wskazuje na stronę główną użytkownika, dla zmiennych o numerze "..i..".</li>"
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieobsługiwana strona główna użytkownika");
end;
end;
else
return "tak";
end;
end;
end;
end;
if((not nieprawidlowa_niepusta_pelna_nazwa_jednostki)
and((not wylocz_niezaleznosc_od_nazwij_jednostka)or(not nazwij_jednostka))
and(((i>0)and((frame.args["typ jednostki "..i])or(pf.args["typ jednostki "..i])or(pf.args["typ jednostki"])))
or ((i==0)and((frame.args["typ jednostki"])or (pf.args["typ jednostki"]))))
)then
local typ_i=(i>0)and((frame.args["typ jednostki "..i])or(pf.args["typ jednostki "..i])) or nil;
if(mo=="(błąd typu jednostki)")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Podana wartość zmiennej <code>typ jednostki</code> jest nieprawidłowa.</li>"
or (typ_i and "<li>Podana wartość zmiennej <code>typ jednostki "..i.."</code> jest nieprawidłowa.</li>"
or "<li>Podana wartość zmiennej <code>typ jednostki</code> dla zmiennych o numerze "..i.." jest nieprawidłowa.</li>")
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - nieprawidłowa wartość typu jednostki");
end;
else
return "tak";
end;
elseif(mo=="(błąd niezgodności)")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Podana wartość zmiennej <code>typ jednostki</code> jest niezgodna z podaną zmienną: <code>nazwą przestrzeni nazw</code>.</li>"
or (typ_i and ("<li>Podana wartość zmiennej <code>typ jednostki "..i.."</code> jest niezgodna z podaną: <code>nazwą przestrzeni nazw "..i.."</code>.</li>")
or("<li>Podana wartość zmiennej <code>typ jednostki</code> dla zmiennych o numerze "..i.." jest niezgodna z podaną: <code>nazwą przestrzeni nazw "..i.."</code>.</li>"))
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - niezgodna wartość typu jednostki");
end;
else
return "tak";
end;
elseif(mo=="(błąd parametrów pudełkowych)")then
if(czy_ze_szczegolami)then
table.insert(lancuch_bledow,
(i==0)and"<li>Podana wartość zmiennej <code>typ jednostki</code> jest niezgodna z podanymi parametrami pudełkowymi.</li>"
or (typ_i and "<li>Podana wartość zmiennej <code>typ jednostki "..i.."</code> jest niezgodna z podanymi parametrami pudełkowymi.</li>"
or "<li>Podana wartość zmiennej <code>typ jednostki</code> dla zmiennych o numerze "..i.." jest niezgodna z podanymi parametrami pudełkowymi.</li>")
);
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - niezgodne parametry pudełkowe");
end;
else
return "tak";
end;
end;
end;
if(not czy_ze_szczegolami)then return "";end;
end;
local num=frame.args["nazwy jednostki numerowane"];
if(parametry_modul.CzyTak(num))then
AnalizujDane(0);
local maksymalny_numer_elementu_nienazwanego=frame.args["maksymalny numer argumentu nienazwanego"];
local czy_maksymalny_numer_elementu_nienazwanego=parametry_modul.CzyTak(maksymalny_numer_elementu_nienazwanego);
local num2;
if(czy_maksymalny_numer_elementu_nienazwanego)then
num2=tonumber(maksymalny_numer_elementu_nienazwanego) or 0;
else
num2=0;
end;
local minimum_z_numerem_dodatkowego_warunku,maksimum_z_numerem_dodatkowego_warunku=parametry_modul.MinimalnyIMaksymalnyNumerParametru(frame.args,"nazwa jednostki");
maksimum_z_numerem_dodatkowego_warunku=math.max(maksimum_z_numerem_dodatkowego_warunku,parametry_modul.MaksymalnaLiczbaParametruNienazwanegoTablicy(pf.args));
if(pf.args["cel"])then maksimum_z_numerem_dodatkowego_warunku=math.max(1,maksimum_z_numerem_dodatkowego_warunku);end;
minimum_z_numerem_dodatkowego_warunku=math.min(minimum_z_numerem_dodatkowego_warunku,parametry_modul.MinimalnaLiczbaParametruNienazwanegoTablicy(pf.args));
if(pf.args["cel"])then minimum_z_numerem_dodatkowego_warunku=math.min(1,minimum_z_numerem_dodatkowego_warunku);end;
if(czy_maksymalny_numer_elementu_nienazwanego)then
if(num2>0)then
if(maksimum_z_numerem_dodatkowego_warunku>0)then
if(minimum_z_numerem_dodatkowego_warunku>num2)then
maksimum_z_numerem_dodatkowego_warunku=0;
elseif(maksimum_z_numerem_dodatkowego_warunku>=num2)then
for i=num2,1,-1 do
local wartosc_parametru=(((i>1)and frame.args["nazwa jednostki "..tostring(i)])or ((i==1)and (frame.args["nazwa jednostki 1"] or frame.args["nazwa jednostki"]))or ((i==1)and(pf.args["cel"])) or pf.args[i]);
if(wartosc_parametru)then
maksimum_z_numerem_dodatkowego_warunku=i;
break;
end;
end;
end;
end;
end;
end;
local tabelka_braku_zmiennych={};
for i=1,maksimum_z_numerem_dodatkowego_warunku,1 do
local wartosc_parametru=(((i>1)and frame.args["nazwa jednostki "..tostring(i)])or ((i==1)and (frame.args["nazwa jednostki 1"] or frame.args["nazwa jednostki"]))or ((i==1)and(pf.args["cel"])) or pf.args[i]);
if(not wartosc_parametru)then
if(czy_ze_szczegolami)then
tabelka_braku_zmiennych[#tabelka_braku_zmiennych+1]=i;
else
return "tak";
end;
else
local wynik=AnalizujDane(i);
if((not czy_ze_szczegolami)and(wynik~=""))then return wynik;end;
end;
end;
if(czy_ze_szczegolami)then
if(parametry_modul["CzySąElementyNumerowaneTablicy"](tabelka_braku_zmiennych))then
local str_braku_parametru="";
for i,wartosc in ipairs(tabelka_braku_zmiennych)do
str_braku_parametru=str_braku_parametru..((str_braku_parametru=="")and "" or ((tabelka_braku_zmiennych[i+1])and ", " or " i "))..wartosc;
end;
table.insert(lancuch_bledow,"<li>Brak parametrów o numerach: "..str_braku_parametru..", w obsługiwanym zakresie zmiennych.</li>");
if(zkategoria)then
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - brak parametrów");
end;
end;
end;
else
local wynik=AnalizujDane(0);
if((not czy_ze_szczegolami)and(wynik~=""))then return wynik;end;
end;
--local lancuch_kategorii_bledow_zlaczony=table.concat(lancuch_kategorii_bledow,"");
local minimum_z_numerem_dodatkowego_warunku,maksimum_z_numerem_dodatkowego_warunku=parametry_modul.MinimalnyIMaksymalnyNumerParametru(frame.args,"dodatkowy warunek");
for i=minimum_z_numerem_dodatkowego_warunku, maksimum_z_numerem_dodatkowego_warunku,1 do
local wartosc_parametru=(i>1)and frame.args["dodatkowy warunek "..i] or ((i==1)and frame.args["dodatkowy warunek 1"] or frame.args["dodatkowy warunek"]);
if(parametry_modul.CzyTak(wartosc_parametru))then
if(czy_ze_szczegolami)then
local bledy_dodatkowego_warunku=frame.args["błędy dodatkowego warunku "..i];
if(parametry_modul.CzyTak(bledy_dodatkowego_warunku))then
local bledy_w_postaci_kategorii="<li>"..bledy_dodatkowego_warunku.."</li>";
table.insert(lancuch_bledow,bledy_dodatkowego_warunku);
if(zkategoria)then
local bledy_w_postaci_kategorii=frame.args["dodatek kategorii błędu dodatkowego warunku "..i];
if(parametry_modul.CzyTak(bledy_w_postaci_kategorii))then
local bledy_w_postaci_kategorii="{{pierwszy człon kategorii błędu}} - "..bledy_w_postaci_kategorii;
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,bledy_w_postaci_kategorii);
else
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - błędne wywołania");
end;
end;
else
table.insert(lancuch_bledow,"<li>Błąd wywołania szablonu.</li>");
if(zkategoria)then
local bledy_w_postaci_kategorii=frame.args["dodatek kategorii błędu dodatkowego warunku"];
if(parametry_modul.CzyTak(bledy_w_postaci_kategorii))then
local bledy_w_postaci_kategorii="{{pierwszy człon kategorii błędu}} - "..bledy_w_postaci_kategorii;
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,bledy_w_postaci_kategorii);
else
parametry_modul.DodajElementDoZbioru(tablica_lancuch_kategorii_bledow,"{{pierwszy człon kategorii błędu}} - błędne wywołania");
end;
end;
end;
else
return "tak";
end;
end;
end;
if(not czy_ze_szczegolami)then return "";end;
local templates={};
--templates["{{Category}}"]="Category";
local lancuch_kategorii_bledow_zlaczony2="";
local minimum_z_numerem_dodatkowego_warunku,maksimum_z_numerem_dodatkowego_warunku=parametry_modul.MinimalnyIMaksymalnyNumerParametru(frame.args,"pierwszy człon kategorii błędu");
if(#tablica_lancuch_kategorii_bledow>0)then
local wszystkie_bledy={};
--wszystkie_bledy[1]="Szablon";
for i=minimum_z_numerem_dodatkowego_warunku,maksimum_z_numerem_dodatkowego_warunku,1 do
local pierwszy_czlon_kategorii_bledow=(i>1)and frame.args["pierwszy człon kategorii błędu "..i] or (frame.args["pierwszy człon kategorii błędu "..1] or frame.args["pierwszy człon kategorii błędu"] );
templates["{{pierwszy człon kategorii błędu}}"]=pierwszy_czlon_kategorii_bledow;
for _,kategoria in ipairs(tablica_lancuch_kategorii_bledow) do
parametry_modul.DodajElementDoZbioru(wszystkie_bledy,mw.ustring.gsub(kategoria,"{{[%w%s]+}}",templates));
end;
end;
--lancuch_kategorii_bledow_zlaczony2=string.gsub(lancuch_kategorii_bledow_zlaczony2,"%[%[Category:","{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Kategoria|");
--lancuch_kategorii_bledow_zlaczony2=string.gsub(lancuch_kategorii_bledow_zlaczony2,"%]%]","}}");
wszystkie_bledy["parametry podstawowe funkcji modułu pudełek"]="tak";
wszystkie_bledy["Nazwa"]="Kategorie";
local frame2=frame:getParent():newChild{title="#invoke:Ramka",args=wszystkie_bledy,};
local ramka_modul=require("Module:Ramka");
lancuch_kategorii_bledow_zlaczony2=ramka_modul["Szablon"](frame2);
end;
local lancuch=table.concat(lancuch_bledow,"")..lancuch_kategorii_bledow_zlaczony2;
if(lancuch~="")then lancuch="<ul>"..lancuch.."</ul>";end;
return lancuch;
end;
function p.Cecha_kontenerowa_szablonowa(frame,__funkcja)
local parametry_modul=require("Module:Parametry");
local parametry_pudelka=frame:getParent().args["parametry pudełka"]
if(parametry_modul.CzyTak(parametry_pudelka))then
return require("Module:Pudełko/ParametryCechy")["Parametry ogólnego pudełka"](frame,__funkcja);
end;
local funkcja=frame.args["funkcja cechowania"];
if(not parametry_modul.CzyTak(funkcja))then funkcja=__funkcja;end;
local modul=frame.args["moduł"];
if(not parametry_modul.CzyTak(modul))then modul="Pudełko";end;
local cecha=require("Module:"..modul)[funkcja](frame);
return cecha;
end;
function p.Generalny_kontener_szablonowy(frame)
local pf=frame.getParent and frame:getParent() or {args={}};
local parametry_modul=require("Module:Parametry");
local parametry_pudelka=pf.args["parametry pudełka"]
if(parametry_modul.CzyTak(parametry_pudelka))then
return frame.args["cecha"] or "";
end;
local alternatywny_szablon=frame.args["alternatywny szablon"];
if(parametry_modul.CzyTak(alternatywny_szablon))then return alternatywny_szablon; end
local cecha;
local bez_bledu=parametry_modul.CzyTak(frame.args["bez błędu"] or pf.args["bez błędu"]);
local czy_ogolne_pudelko;
if(not bez_bledu)then cecha=frame.args["cecha"] or ""; czy_ogolne_pudelko=(cecha=="");else czy_ogolne_pudelko=true;end;
if(czy_ogolne_pudelko)then
local warunek_niealternatywnego_wywolania=frame.args["warunek niealternatywnego wywołania"];
if((warunek_niealternatywnego_wywolania)and(warunek_niealternatywnego_wywolania==""))then
local alternatywne_wywolanie=frame.args["alternatywne wywołanie"];
if(alternatywne_wywolanie)then
return alternatywne_wywolanie;
end;
end;
end;
local szablon=frame.args["szablon"];
local pudelko;local grafika;local grafika_prawo;local typ;local ponizej;local styl_tekstu;local styl_ponizej;
local nazwa_przestrzeni_nazw=frame.args["nazwa przestrzeni nazw"];
local komunikat=frame.args["własny komunikat"];
local szablon2=(parametry_modul.CzyTak(szablon)) and szablon or require("Module:Nazwy")["NAZWASTRONY"](pf:getTitle());
local czy_komunikat=parametry_modul.CzyTak(komunikat);
local funkcja_komunikatu;
local wynik_komunikatu;
local tekst;
local klasa;local styl;
if(czy_komunikat)then
local modul=frame.args["moduł"];
if(not parametry_modul.CzyTak(modul))then modul="Pudełko";end;
funkcja_komunikatu=require("Module:"..modul)[komunikat];
if(funkcja_komunikatu)then
wynik_komunikatu=funkcja_komunikatu(frame);
end;
end;
if(czy_ogolne_pudelko)then
local wybor=frame.args["wybór"];
local czy_wybor=parametry_modul.CzyTak(wybor);
pudelko=(czy_wybor and frame.args["nazwa "..wybor] or frame.args["nazwa"]) or "mbox";
grafika=czy_wybor and frame.args["grafika "..wybor] or frame.args["grafika"];
grafika_prawo=czy_wybor and frame.args["grafika prawo "..wybor] or frame.args["grafika prawo"];
typ=czy_wybor and frame.args["typ "..wybor] or frame.args["typ"];
typ=parametry_modul.CzyTak(typ) and typ or "zawartość";
tekst=czy_wybor and (frame.args["tekst "..wybor] or frame.args["treść "..wybor]) or (frame.args["tekst"] or frame.args["treść"]) or "";
local parametry=czy_wybor and frame.args["parametry "..wybor] or frame.args["parametry"] or "";
klasa=czy_wybor and frame.args["klasa "..wybor] or frame.args["klasa"];
styl=czy_wybor and frame.args["styl "..wybor] or frame.args["styl"];
styl_tekstu=czy_wybor and frame.args["styl tekstu "..wybor] or frame.args["styl tekstu"];
styl_ponizej=czy_wybor and frame.args["styl poniżej "..wybor] or frame.args["styl poniżej"];
local kategorie=czy_wybor and frame.args["kategorie "..wybor] or frame.args["kategorie"] or "";
ponizej=czy_wybor and frame.args["poniżej "..wybor] or frame.args["poniżej"];
tekst=tekst..parametry..kategorie;
else
pudelko="ombox";
grafika="poważny";
typ="poważny";
local czy_ze_szczegolami=not parametry_modul.CzyTak(frame.args["bez szczegółów"] or pf.args["bez szczegółów"]);
if(czy_ze_szczegolami)then
tekst="'''Szablon ".."{{[[Template:"..szablon2.."|"..szablon2.."]]}} zgłosił następujące błędy:'''"..cecha;
else
tekst="Szablon '''".."{{[[Template:"..szablon2.."|"..szablon2.."]]}}''' jest w stanie błędu, popraw parametry szablonu!";
end;
end;
local argumenty={
["klasa"]=klasa,
["styl"]=styl,
["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw,
["typ"]=typ,
["grafika"]=grafika,
["grafika prawo"]=grafika_prawo,
["styl tekstu"]=styl_tekstu,
["tekst"]=(czy_komunikat) and ((funkcja_komunikatu)and wynik_komunikatu or tekst)or tekst,
["poniżej"]=ponizej,
["styl poniżej"]=styl_ponizej,
};
return pf:expandTemplate{title=pudelko,args=argumenty};
end;
return p;
22t2vkpaujgeugdvqh63m8haa1d9k6a
Zioła i przyprawy
0
63445
540825
540739
2026-04-26T12:47:04Z
EdytaT
2664
/* Kompozycje przyprawowe */
540825
wikitext
text/x-wiki
{{status|-25%|Kulinaria|Zielarstwo}}
{{Rozdział|Podręcznik|Zioła i przyprawy}}
<small>< [[Zioła i przyprawy/Okładka|Okładka]]</small>
{{FormularzWejścia|typ=search|szerokość=40|przestrzenie=(Główna)**|przedrostek=Zioła i przyprawy|szukaj=Szukaj|przerwa=no|zastępczy=Wyszukaj}}
== Spis treści ==
=== Zioła i przyprawy ===
# [[Zioła i przyprawy/Kolendra|Kolendra]]
# [[Zioła i przyprawy/Krwiściąg|Krwiściąg]]
# [[Zioła i przyprawy/Liść laurowy|Liść laurowy]]
=== Kompozycje przyprawowe ===
# [[Zioła i przyprawy/Bouquet garni|Bouquet garni]]
# [[Zioła i przyprawy/Curry|Curry]]
# [[Zioła i przyprawy/Masala|Masala]]
# [[Zioła i przyprawy/Swańska sól|Swańska sól]]
# [[Zioła i przyprawy/Zioła do zielonego sosu frankfurckiego|Zioła do zielonego sosu frankfurckiego]]
# [[Zioła i przyprawy/Zioła prowansalskie|Zioła prowansalskie]]
=== Przyprawianie zup ===
==== Barszcz ====
* Jako podstawowe przyprawy do klasycznego barszczu czerwonego zaraz na początku gotowania daj [[Zioła i przyprawy/Liść laurowy|liść laurowy]], [[Zioła i przyprawy/Ziele angielskie|ziele angielskie]] i [[Zioła i przyprawy/Pieprz czarny|czarny pieprz]] w ziarnach.
* Kilka [[Zioła i przyprawy/Suszone grzyby|suszonych grzybów]] nada głębszy smak.
* [[Zioła i przyprawy/Majeranek|Majeranek]] dodaj pod koniec gotowania, by nie zrobił się gorzki.
* [[Zioła i przyprawy/Cukier|Szczypta cukru]], trochę [[Zioła i przyprawy/Miód|miodu]] wzbogacą smak.
* Charakterystyczną kwaskowatość otrzymasz dodając trochę kiszonych buraków albo [[Zioła i przyprawy/Ocet|octu jabłkowego]] lub odrobiny soku z [[Zioła i przyprawy/Jabłko|jabłka]] lub [[Zioła i przyprawy/Cytryna|cytryny]]. Zakwaszaj na koniec gotowania, po odcedzeniu warzyw, by barszcz nie stracił koloru.
* Jeżeli lubisz, to możesz dodać [[Zioła i przyprawy/Lubczyk|lubczyk]], [[Zioła i przyprawy/Goździki|goździki]], [[Zioła i przyprawy/Kminek|kminek]], a odrobina [[Zioła i przyprawy/Chili|chili]] zaostrzy smak.
== [[Zioła i przyprawy/Słowniczek|Słowniczek]] ==
== [[Zioła i przyprawy/Bibliografia|Bibliografia]] ==
9e6b71cgh6zq100tx5l3ko8ci6ek48y
Wikipedysta:Persino/Moduły/Pudełko/Tom I
2
63479
540822
540789
2026-04-26T12:34:04Z
Persino
2851
/* {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} */
540822
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|p.CzyNiepoprawnaNazwa(nazwa_jednostki)}} ==
Funkcja sprawdzajaca, czy jest poprawnie podana nazwa jednostki, czy ma poprawną nazwę. Znakami tymi, z których nie powinna składać się nazwa jest {{Code|<nowiki>{}<>|[]#\n</nowiki>}} i dodatkowo znak {{Code|}} (kod {{Code|{{Nowiki|}}}}). Też nie może składać się z trzech znaków tyldy, tzn. {{Code|<nowiki>~~~</nowiki>}}. Również w swojej budowie nie może składać się ze kodów {{Strong|HTML}} literowych o wzorze {{Code|{{Nowiki|&(%a+);}}}}. Natomiast może składać się z {{Code|{{Nowiki|&#(%d+);}}}} i {{Code|{{Nowiki|&#x(%x+);}}}}, ale w pierw te kody muszą być zamienione na normalne znaki.
Skrótowa definicja funkcji:
<syntaxhighlight lang="lua">
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Moduł: "Moduł:Html/dane", służy do ładowania znaku o kodzie HTML "";
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
</syntaxhighlight>
Parametry:
* {{Code|nazwa_jednostki}} - nazwa jednostki do sprawdzenia.
Przykłady:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
-- Podana przykładowa niepoprawna nazwa jedostki
local nazwa_jednostki="Nazwa pliku [[Nazwa linku w pliku]]";
-- Funkcja zwróci wartość: local czy_poprawna_nazwa=true;
local czy_poprawna_nazwa=pudelko_modul.CzyNiepoprawnaNazwa(nazwa_jednostki);
</syntaxhighlight>
== Funkcje nazw przestrzeni nazw ==
=== {{Code|p["Nazwa przestrzeni nazw"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń programowa, którą również jest "Szablon"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany, by nie było, a jeśli nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Dyskusja Wikibooks|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa przestrzeni nazw i=Dyskusja modułu}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Dyskusja modułu"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń przedmiotowa programowa przestrzeni dyskusji "Dyskusja modułu", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni przedmiotowej, zamiast dyskusji, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw i=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw=Dyskusja szablonu|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez typ jednostki jest zamieniony na nazwę przestrzeni przedmiotową, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na dyskusji, czyli identyfikator przestrzeni się zmienia jeden wyżej, a dyskusji, nie przedmiotową, przekształca się na tą samą), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon}}}} - ta nazwa domyślna zostanie przekształcona na dyskusji, a jeżeli ona by była dyskusji, to nie byłoby żadnego przekształcenia, a jeśli nazwa uzyskana nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Dyskusja modułu
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń dyskusji przestrzeni programowej przestrzeni przedmiotowej "Moduł", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni dyskusji, zamiast przedmiotowej, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale wtedy nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na nazwę przestrzeni nazw dyskusji. Parametr dyskusji typu jednostki bazowy lub dla danego numerka ogólny, czy szczegółowy, nie gra roli. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
== Funkcje nazw przestrzeni nazw drugiej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw, jeżeli z parametrów przestrzennych przestrzeń wskazuje na główną, to wtedy jest liczona przestrzeń nazw z nazwy jednostki;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu na przedmiotową może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na przedmiotową, a jeżeli jest już taka, to żadnej zamiany nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale można użyć parametru dyskusji typu jednostki z wartością niepustą, pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw przedmiotowej. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw dyskusji z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa dyskusji przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na dyskusji, a jeżeli jest już taka, to nie ma takiej zamiany, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale dyskusji projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw przestrzeni nazw trzeciej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona}|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe lub dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przedmiotowej przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przedmiotowej przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany by nie było, a nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna,jest to numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw=Moja przestrzeń||nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2=Moja przestrzeń||nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzeni przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na to samo, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon}}}}, nazwa domyślna zostatnie zamieniona na dyskusji, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
Dyskusja
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw niegłówna, jest ciągiem niepustym; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw jednostki ==
=== {{Code|p["Nazwa jednostki"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, podaną w parametrach z: {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerkowanych: {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, nawet gdyby ona była z przestrzenią nazw;
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_jednostki(frame,i)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki drugiej wersji ==
=== {{Code|p["Nazwa jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających, w pozostałych przypadkach ona działa, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} ===
Funkcja pisze przedmiotową nazwę jednostki na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy przedmiotowa nazwa jednostki, tzn. gdy parametry przestrzenne wskazują na przestrzeń głównej i „Dyskusja”, wtedy ona zostanie zamieniona na przestrzeń główną, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną i "Dyskusji";
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja szablonu|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy nazwa jednostki dyskusji, tzn. gdy parametry przestrzenne wskazują na przestrzeń główną, to wtedy ona nie jest zamieniana na „Dyskusja”, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa dla jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki trzeciej wersji ==
=== {{Code|p["Nazwa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} , tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
<!-- nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kx5fahqmt5vdmy3g27ipcb5v157ac9m
540823
540822
2026-04-26T12:36:36Z
Persino
2851
/* {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} */
540823
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|p.CzyNiepoprawnaNazwa(nazwa_jednostki)}} ==
Funkcja sprawdzajaca, czy jest poprawnie podana nazwa jednostki, czy ma poprawną nazwę. Znakami tymi, z których nie powinna składać się nazwa jest {{Code|<nowiki>{}<>|[]#\n</nowiki>}} i dodatkowo znak {{Code|}} (kod {{Code|{{Nowiki|}}}}). Też nie może składać się z trzech znaków tyldy, tzn. {{Code|<nowiki>~~~</nowiki>}}. Również w swojej budowie nie może składać się ze kodów {{Strong|HTML}} literowych o wzorze {{Code|{{Nowiki|&(%a+);}}}}. Natomiast może składać się z {{Code|{{Nowiki|&#(%d+);}}}} i {{Code|{{Nowiki|&#x(%x+);}}}}, ale w pierw te kody muszą być zamienione na normalne znaki.
Skrótowa definicja funkcji:
<syntaxhighlight lang="lua">
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Moduł: "Moduł:Html/dane", służy do ładowania znaku o kodzie HTML "";
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
</syntaxhighlight>
Parametry:
* {{Code|nazwa_jednostki}} - nazwa jednostki do sprawdzenia.
Przykłady:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
-- Podana przykładowa niepoprawna nazwa jedostki
local nazwa_jednostki="Nazwa pliku [[Nazwa linku w pliku]]";
-- Funkcja zwróci wartość: local czy_poprawna_nazwa=true;
local czy_poprawna_nazwa=pudelko_modul.CzyNiepoprawnaNazwa(nazwa_jednostki);
</syntaxhighlight>
== Funkcje nazw przestrzeni nazw ==
=== {{Code|p["Nazwa przestrzeni nazw"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń programowa, którą również jest "Szablon"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany, by nie było, a jeśli nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Dyskusja Wikibooks|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa przestrzeni nazw i=Dyskusja modułu}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Dyskusja modułu"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń przedmiotowa programowa przestrzeni dyskusji "Dyskusja modułu", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni przedmiotowej, zamiast dyskusji, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw i=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw=Dyskusja szablonu|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez typ jednostki jest zamieniony na nazwę przestrzeni przedmiotową, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na dyskusji, czyli identyfikator przestrzeni się zmienia jeden wyżej, a dyskusji, nie przedmiotową, przekształca się na tą samą), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon}}}} - ta nazwa domyślna zostanie przekształcona na dyskusji, a jeżeli ona by była dyskusji, to nie byłoby żadnego przekształcenia, a jeśli nazwa uzyskana nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Dyskusja modułu
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń dyskusji przestrzeni programowej przestrzeni przedmiotowej "Moduł", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni dyskusji, zamiast przedmiotowej, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale wtedy nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na nazwę przestrzeni nazw dyskusji. Parametr dyskusji typu jednostki bazowy lub dla danego numerka ogólny, czy szczegółowy, nie gra roli. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
== Funkcje nazw przestrzeni nazw drugiej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw, jeżeli z parametrów przestrzennych przestrzeń wskazuje na główną, to wtedy jest liczona przestrzeń nazw z nazwy jednostki;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu na przedmiotową może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na przedmiotową, a jeżeli jest już taka, to żadnej zamiany nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale można użyć parametru dyskusji typu jednostki z wartością niepustą, pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw przedmiotowej. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw dyskusji z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa dyskusji przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na dyskusji, a jeżeli jest już taka, to nie ma takiej zamiany, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale dyskusji projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw przestrzeni nazw trzeciej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona}|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe lub dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przedmiotowej przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przedmiotowej przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany by nie było, a nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna,jest to numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw=Moja przestrzeń||nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2=Moja przestrzeń||nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzeni przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na to samo, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon}}}}, nazwa domyślna zostatnie zamieniona na dyskusji, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
Dyskusja
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw niegłówna, jest ciągiem niepustym; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw jednostki ==
=== {{Code|p["Nazwa jednostki"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, podaną w parametrach z: {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerkowanych: {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, nawet gdyby ona była z przestrzenią nazw;
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_jednostki(frame,i)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki drugiej wersji ==
=== {{Code|p["Nazwa jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających, w pozostałych przypadkach ona działa, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} ===
Funkcja pisze przedmiotową nazwę jednostki na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy przedmiotowa nazwa jednostki, tzn. gdy parametry przestrzenne wskazują na przestrzeń głównej i „Dyskusja”, wtedy ona zostanie zamieniona na przestrzeń główną, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną i "Dyskusji";
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja szablonu|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy nazwa jednostki dyskusji, tzn. gdy parametry przestrzenne wskazują na przestrzeń główną, to wtedy ona nie jest zamieniana na „Dyskusja”, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa dla jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki trzeciej wersji ==
=== {{Code|p["Nazwa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} , tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
<!-- nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
k5x22uamtird78u8h1f6oky6ml6p4oi
540824
540823
2026-04-26T12:41:44Z
Persino
2851
540824
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|p.CzyNiepoprawnaNazwa(nazwa_jednostki)}} ==
Funkcja sprawdzajaca, czy jest poprawnie podana nazwa jednostki, czy ma poprawną nazwę. Znakami tymi, z których nie powinna składać się nazwa jest {{Code|<nowiki>{}<>|[]#\n</nowiki>}} i dodatkowo znak {{Code|}} (kod {{Code|{{Nowiki|}}}}). Też nie może składać się z trzech znaków tyldy, tzn. {{Code|<nowiki>~~~</nowiki>}}. Również w swojej budowie nie może składać się ze kodów {{Strong|HTML}} literowych o wzorze {{Code|{{Nowiki|&(%a+);}}}}. Natomiast może składać się z {{Code|{{Nowiki|&#(%d+);}}}} i {{Code|{{Nowiki|&#x(%x+);}}}}, ale w pierw te kody muszą być zamienione na normalne znaki.
Skrótowa definicja funkcji:
<syntaxhighlight lang="lua">
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Moduł: "Moduł:Html/dane", służy do ładowania znaku o kodzie HTML "";
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
</syntaxhighlight>
Parametry:
* {{Code|nazwa_jednostki}} - nazwa jednostki do sprawdzenia.
Przykłady:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
-- Podana przykładowa niepoprawna nazwa jedostki
local nazwa_jednostki="Nazwa pliku [[Nazwa linku w pliku]]";
-- Funkcja zwróci wartość: local czy_poprawna_nazwa=true;
local czy_poprawna_nazwa=pudelko_modul.CzyNiepoprawnaNazwa(nazwa_jednostki);
</syntaxhighlight>
== Funkcje nazw przestrzeni nazw ==
=== {{Code|p["Nazwa przestrzeni nazw"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń programowa, którą również jest "Szablon"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany, by nie było, a jeśli nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Dyskusja Wikibooks|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa przestrzeni nazw i=Dyskusja modułu}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Dyskusja modułu"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń przedmiotowa programowa przestrzeni dyskusji "Dyskusja modułu", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni przedmiotowej, zamiast dyskusji, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw i=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw=Dyskusja szablonu|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez typ jednostki jest zamieniony na nazwę przestrzeni przedmiotową, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na dyskusji, czyli identyfikator przestrzeni się zmienia jeden wyżej, a dyskusji, nie przedmiotową, przekształca się na tą samą), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon}}}} - ta nazwa domyślna zostanie przekształcona na dyskusji, a jeżeli ona by była dyskusji, to nie byłoby żadnego przekształcenia, a jeśli nazwa uzyskana nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Dyskusja modułu
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń dyskusji przestrzeni programowej przestrzeni przedmiotowej "Moduł", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni dyskusji, zamiast przedmiotowej, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale wtedy nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na nazwę przestrzeni nazw dyskusji. Parametr dyskusji typu jednostki bazowy lub dla danego numerka ogólny, czy szczegółowy, nie gra roli. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
== Funkcje nazw przestrzeni nazw drugiej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw, jeżeli z parametrów przestrzennych przestrzeń wskazuje na główną, to wtedy jest liczona przestrzeń nazw z nazwy jednostki;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu na przedmiotową może odpowiadać wartości przestrzeni głównej (wtedy to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na przedmiotową, a jeżeli jest już taka, to żadnej zamiany nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale można użyć parametru dyskusji typu jednostki z wartością niepustą, pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw przedmiotowej. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw dyskusji z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa dyskusji przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na dyskusji, a jeżeli jest już taka, to nie ma takiej zamiany, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale dyskusji projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw przestrzeni nazw trzeciej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona}|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe lub dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przedmiotowej, po transformacji, przestrzeni głównej (to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości, po przekształceniu, przedmiotowej przestrzeni głównej (okresla to przestrzeń nazw główną lub „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany by nie było, a nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna,jest to numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw=Moja przestrzeń||nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2=Moja przestrzeń||nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzeni przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na to samo, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon}}}}, nazwa domyślna zostatnie zamieniona na dyskusji, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
Dyskusja
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw niegłówna, jest ciągiem niepustym; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw jednostki ==
=== {{Code|p["Nazwa jednostki"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, podaną w parametrach z: {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerkowanych: {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, nawet gdyby ona była z przestrzenią nazw;
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_jednostki(frame,i)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki drugiej wersji ==
=== {{Code|p["Nazwa jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających, w pozostałych przypadkach ona działa, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} ===
Funkcja pisze przedmiotową nazwę jednostki na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy przedmiotowa nazwa jednostki, tzn. gdy parametry przestrzenne wskazują na przestrzeń głównej i „Dyskusja”, wtedy ona zostanie zamieniona na przestrzeń główną, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną i "Dyskusji";
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja szablonu|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy nazwa jednostki dyskusji, tzn. gdy parametry przestrzenne wskazują na przestrzeń główną, to wtedy ona nie jest zamieniana na „Dyskusja”, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa dla jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki trzeciej wersji ==
=== {{Code|p["Nazwa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} , tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
<!-- nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
irxev28p1t228k4takyo03pkhyckozm
540826
540824
2026-04-26T12:48:54Z
Persino
2851
/* {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} */
540826
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|p.CzyNiepoprawnaNazwa(nazwa_jednostki)}} ==
Funkcja sprawdzajaca, czy jest poprawnie podana nazwa jednostki, czy ma poprawną nazwę. Znakami tymi, z których nie powinna składać się nazwa jest {{Code|<nowiki>{}<>|[]#\n</nowiki>}} i dodatkowo znak {{Code|}} (kod {{Code|{{Nowiki|}}}}). Też nie może składać się z trzech znaków tyldy, tzn. {{Code|<nowiki>~~~</nowiki>}}. Również w swojej budowie nie może składać się ze kodów {{Strong|HTML}} literowych o wzorze {{Code|{{Nowiki|&(%a+);}}}}. Natomiast może składać się z {{Code|{{Nowiki|&#(%d+);}}}} i {{Code|{{Nowiki|&#x(%x+);}}}}, ale w pierw te kody muszą być zamienione na normalne znaki.
Skrótowa definicja funkcji:
<syntaxhighlight lang="lua">
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Moduł: "Moduł:Html/dane", służy do ładowania znaku o kodzie HTML "";
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
</syntaxhighlight>
Parametry:
* {{Code|nazwa_jednostki}} - nazwa jednostki do sprawdzenia.
Przykłady:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
-- Podana przykładowa niepoprawna nazwa jedostki
local nazwa_jednostki="Nazwa pliku [[Nazwa linku w pliku]]";
-- Funkcja zwróci wartość: local czy_poprawna_nazwa=true;
local czy_poprawna_nazwa=pudelko_modul.CzyNiepoprawnaNazwa(nazwa_jednostki);
</syntaxhighlight>
== Funkcje nazw przestrzeni nazw ==
=== {{Code|p["Nazwa przestrzeni nazw"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń programowa, którą również jest "Szablon"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany, by nie było, a jeśli nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Dyskusja Wikibooks|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa przestrzeni nazw i=Dyskusja modułu}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Dyskusja modułu"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń przedmiotowa programowa przestrzeni dyskusji "Dyskusja modułu", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni przedmiotowej, zamiast dyskusji, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw i=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw=Dyskusja szablonu|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez typ jednostki jest zamieniony na nazwę przestrzeni przedmiotową, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na dyskusji, czyli identyfikator przestrzeni się zmienia jeden wyżej, a dyskusji, nie przedmiotową, przekształca się na tą samą), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon}}}} - ta nazwa domyślna zostanie przekształcona na dyskusji, a jeżeli ona by była dyskusji, to nie byłoby żadnego przekształcenia, a jeśli nazwa uzyskana nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Dyskusja modułu
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń dyskusji przestrzeni programowej przestrzeni przedmiotowej "Moduł", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni dyskusji, zamiast przedmiotowej, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale wtedy nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na nazwę przestrzeni nazw dyskusji. Parametr dyskusji typu jednostki bazowy lub dla danego numerka ogólny, czy szczegółowy, nie gra roli. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
== Funkcje nazw przestrzeni nazw drugiej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw, jeżeli z parametrów przestrzennych przestrzeń wskazuje na główną, to wtedy jest liczona przestrzeń nazw z nazwy jednostki;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu na przedmiotową może odpowiadać wartości przestrzeni głównej (wtedy to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na przedmiotową, a jeżeli jest już taka, to żadnej zamiany nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale można użyć parametru dyskusji typu jednostki z wartością niepustą, pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw przedmiotowej. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw dyskusji z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa dyskusji przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na dyskusji, a jeżeli jest już taka, to nie ma takiej zamiany, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale dyskusji projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw przestrzeni nazw trzeciej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona}|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe lub dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przedmiotowej, po transformacji, przestrzeni głównej (to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości, po przekształceniu, przedmiotowej przestrzeni głównej (okresla to przestrzeń nazw główną lub „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany by nie było, a nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna,jest to numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw=Moja przestrzeń||nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2=Moja przestrzeń||nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzeni przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na to samo, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon}}}}, nazwa domyślna zostatnie zamieniona na dyskusji, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
Dyskusja
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw niegłówna, jest ciągiem niepustym; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw jednostki ==
=== {{Code|p["Nazwa jednostki"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, podaną w parametrach z: {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerkowanych: {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, nawet gdyby ona była z przestrzenią nazw;
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_jednostki(frame,i)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki drugiej wersji ==
=== {{Code|p["Nazwa jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających, w pozostałych przypadkach ona działa, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} ===
Funkcja pisze przedmiotową nazwę jednostki na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy przedmiotowa nazwa jednostki, tzn. gdy parametry przestrzenne wskazują na przestrzeń głównej i „Dyskusja”, wtedy ona zostanie zamieniona na przestrzeń główną, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa, po zamianie, nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną i "Dyskusji";
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja szablonu|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy nazwa jednostki dyskusji, tzn. gdy parametry przestrzenne wskazują na przestrzeń główną, to wtedy ona nie jest zamieniana na „Dyskusja”, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa dla jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki trzeciej wersji ==
=== {{Code|p["Nazwa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} , tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
<!-- nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
75y6xsqbhlpdvkkr40nyhbrhh8wlmo2
540830
540826
2026-04-26T13:42:04Z
Persino
2851
540830
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|p.CzyNiepoprawnaNazwa(nazwa_jednostki)}} ==
Funkcja sprawdzajaca, czy jest poprawnie podana nazwa jednostki, czy ma poprawną nazwę. Znakami tymi, z których nie powinna składać się nazwa jest {{Code|<nowiki>{}<>|[]#\n</nowiki>}} i dodatkowo znak {{Code|}} (kod {{Code|{{Nowiki|}}}}). Też nie może składać się z trzech znaków tyldy, tzn. {{Code|<nowiki>~~~</nowiki>}}. Również w swojej budowie nie może składać się ze kodów {{Strong|HTML}} literowych o wzorze {{Code|{{Nowiki|&(%a+);}}}}. Natomiast może składać się z {{Code|{{Nowiki|&#(%d+);}}}} i {{Code|{{Nowiki|&#x(%x+);}}}}, ale w pierw te kody muszą być zamienione na normalne znaki.
Skrótowa definicja funkcji:
<syntaxhighlight lang="lua">
function p.CzyNiepoprawnaNazwa(nazwa_jednostki)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Moduł: "Moduł:Html/dane", służy do ładowania znaku o kodzie HTML "";
local html_dane_modul=mw.loadData("Module:Html/dane");
return mw.ustring.match(nazwa_jednostki,"[{}<>|%[%]#\n"..html_dane_modul.znak_127.."]+") or mw.ustring.match(nazwa_jednostki,"~~~") or mw.ustring.match(nazwa_jednostki,"&(%a+);");
</syntaxhighlight>
Parametry:
* {{Code|nazwa_jednostki}} - nazwa jednostki do sprawdzenia.
Przykłady:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
-- Podana przykładowa niepoprawna nazwa jedostki
local nazwa_jednostki="Nazwa pliku [[Nazwa linku w pliku]]";
-- Funkcja zwróci wartość: local czy_poprawna_nazwa=true;
local czy_poprawna_nazwa=pudelko_modul.CzyNiepoprawnaNazwa(nazwa_jednostki);
</syntaxhighlight>
== Funkcje nazw przestrzeni nazw ==
=== {{Code|p["Nazwa przestrzeni nazw"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,0, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń programowa, którą również jest "Szablon"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,1, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany, by nie było, a jeśli nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Dyskusja Wikibooks|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa przestrzeni nazw i=Dyskusja modułu}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Dyskusja modułu"; -->
<!-- Czyli wynik: -->
Moduł
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń przedmiotowa programowa przestrzeni dyskusji "Dyskusja modułu", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni przedmiotowej, zamiast dyskusji, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw i=Dyskusja szablonu|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw|nazwa przestrzeni nazw=Dyskusja szablonu|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez typ jednostki jest zamieniony na nazwę przestrzeni przedmiotową, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na dyskusji, czyli identyfikator przestrzeni się zmienia jeden wyżej, a dyskusji, nie przedmiotową, przekształca się na tą samą), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw(frame,2, czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon}}}} - ta nazwa domyślna zostanie przekształcona na dyskusji, a jeżeli ona by była dyskusji, to nie byłoby żadnego przekształcenia, a jeśli nazwa uzyskana nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 2=Szablon|nazwa przestrzeni nazw i=Moduł}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która nie została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=1}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="Moduł"; -->
<!-- Czyli wynik: -->
Dyskusja modułu
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń dyskusji przestrzeni programowej przestrzeni przedmiotowej "Moduł", którą również jest "Szablon" jego przestrzeni dyskusji "Dyskusja szablonu", a dla ich przestrzeni dyskusji, zamiast przedmiotowej, to samo przekształca się na to samo; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw 2{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw i=Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw{{=}}Szablon|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji|nazwa przestrzeni nazw=Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale wtedy nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na nazwę przestrzeni nazw dyskusji. Parametr dyskusji typu jednostki bazowy lub dla danego numerka ogólny, czy szczegółowy, nie gra roli. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
== Funkcje nazw przestrzeni nazw drugiej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw, jeżeli z parametrów przestrzennych przestrzeń wskazuje na główną, to wtedy jest liczona przestrzeń nazw z nazwy jednostki;
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_2(frame,czy_uwzglednic_alternatywna_nazwe,i)
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, czy dyskusji ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu na przedmiotową może odpowiadać wartości przestrzeni głównej (wtedy to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na przedmiotową, a jeżeli jest już taka, to żadnej zamiany nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|nazwa przestrzeni nazw i=Dyskusja|nazwa jednostki 2=Dyskusja szablonu:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|Dyskusja szablonu|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Dyskusja szablonu:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe, ale można użyć parametru dyskusji typu jednostki z wartością niepustą, pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw przedmiotowej. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych po przekształceniu może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw dyskusji z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa dyskusji przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
return pudelko_pomocne_modul.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,czy_uwzglednic_alternatywna_nazwe,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_przestrzeni_nazw_przedmiotowa_dyskusji_2(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon}}}}, nazwa domyślna zostanie zamieniona na dyskusji, a jeżeli jest już taka, to nie ma takiej zamiany, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale dyskusji projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i{{=}}Moja przestrzeń|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw i=Moja przestrzeń|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i{{=}}|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|nazwa przestrzeni nazw i=|nazwa jednostki 2=Szablon:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 2|Szablon|nazwa przestrzeni nazw=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 2|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki wskazuje na przestrzeń nazw główną, wtedy się liczą parametry nazw jednostek. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw przestrzeni nazw trzeciej wersji ==
=== {{Code|p["Nazwa przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw, niezależnie, czy to jest przedmiotowa, czy dyskusji, według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon}}}}, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to brany jest ten element, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|Nazwa przestrzeni nazw 3}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona}|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie przedmiotowe lub dyskusji, ale można lub nie użyć parametru dyskusji typu jednostki z wartością niepustą, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
=== {{Code|p["Nazwa przedmiotowej przestrzeni nazw 3"](frame,...)}} ===
Funkcja pisze przedmiotową nazwę przestrzeni nazw jakikolwiek nazwy przestrzeni nazw (tzn. nazwę przedmiotową nazwy przestrzenie nazw, czyli nie dyskusji, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a dyskusji, nie przedmiotową, przekształca się na przedmiotową jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zmniejsza się o numer mniej), według podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na przedmiotową.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przedmiotowej, po transformacji, przestrzeni głównej (to odpowiada przestrzeni głównej, czy „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości, po przekształceniu, przedmiotowej przestrzeni głównej (okresla to przestrzeń nazw główną lub „Dyskusja”), to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowej przestrzeni nazw 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw przedmiotową na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu}}}} - ta nazwa domyślna zostanie zamieniona na przedmiotową, a jak ona by była przedmiotowa, to żadnej zamiany by nie było, a nazwa uzyskana z nazwy przestrzeni nazw z parametrów przestrzennych jest w takim przypadku błędna, to w takim razie brany jest ten parametr, a jeżeli ta nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna,jest to numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
<!-- wynik pusty -->
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nazw główna, jest ciągiem pustym: ""; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw=Moja przestrzeń||nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|Dyskusja szablonu|nazwa przestrzeni nazw 2=Moja przestrzeń||nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przedmiotowej przestrzeni nazw 3|typ jednostki 2{{=}}strona szablonu|numer jednostki{{=}}2}}}}, ale o tym więcej w rozdziałach {{Code|{{sr|#p["Przedmiotowy typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzeni przedmiotowe, ale wtedy ta sama nazwa przestrzeni nazw reprezentowana przez {{Parametr|typ jednostki 2|strona szablonu}}, jest zamieniana na to samo, lepiej jest tutaj używać parametrów przestrzennych nazw niż typu jednostki. Tutaj parametr dyskusji typu jednostki bazowy i numerkowy ogólny, czy szczegółowy, nie gra roli, bo nawet, gdy wygenerujemy nazwę przestrzeni dyskusji za pomoca tego parametru, to i tak otrzymamy na samym końcu jego nazwę przedmiotową. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma, to generowane są nazwy na podstawie aktualnego modułu.
=== {{Code|p["Nazwa przestrzeni nazw dyskusji 3"](frame,...)}} ===
Funkcja pisze nazwę przestrzeni nazw dyskusji jakikolwiek nazwy przestrzeni nazw (tzn. nazwę dyskusji nazwy przestrzenie nazw, czyli nie przedmiotowej, zamieniana jest na nią samą, czyli identyfikator przestrzeni się nie zmienia, a przedmiotową, nie dyskusji, przekształca się na dyskusji jej odpowiadającą, czyli w tym przypadku identyfikator przestrzeni zwiększa się o numer więcej), według, i nie zawsze tylko, podanej w zmiennej {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
W tej funkcji trzeba też podawać parametry nazwy jednostek {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},..., lub podane w postaci parametrów numerowanych: {{Code|1}}, {{Code|2}},..., dla tego {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}, za pomocą, którego uzyskujemy odpowiedni parametr bazowy lub numerkowy.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Parametry przestrzenne lub ewentualnie z tych jednostek mogą mogą być podane w postaci przestrzeni przedmiotowej lub dyskusji, ale ta funkcja zawsze ją zamienia na dyskusji.
Przestrzeń nazw z parametrów nazw przestrzennych bazowych (bez numerka) może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się nie liczy w tej funkcji, aby się liczyła należy użyć funkcji {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}. W tym przypadku funkcja działa jak {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}.
Przestrzeń nazw z parametrów nazw przestrzennych numerkowych może odpowiadać wartości przestrzeni głównej, to wtedy odpowiednia przestrzeń nazw z parametru nazwy jednostki się liczy w tej funkcji, wtedy jest liczona nazwa przestrzeni nazw z tego parametru. Gdy parametry przestrzenne lub typ jednostki w drugim podejściu nie wskazują na przestrzeń główną, to wtedy działanie tej funkcji jest podobne do {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przestrzeni nazw dyskusji 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw dyskusji na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,liczba_numeru_jednostki,nil,1);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy przestrzeni nazw dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon}}}}, nazwa domyślna zostatnie zamieniona na dyskusji, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}.
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}}, {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, {{Code|nazwa jednostki 3}},... - nazwy jednostek dla pozycji bazowej i numerkowej, te parametry maja odpowiedniki, nieobecne nigdy w parametrach w ramce dziecka, w parametrach numerkowych, w tym {{Code|cel}} {{=}} {{Code|1}}, a te parametry: {{Code|1}} {{=}} {{Code|nazwa jednostki 1}}, {{Code|2}} {{=}} {{Code|nazwa jednostki 2}}, {{Code|3}} {{=}} {{Code|nazwa jednostki 3}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione,
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw=|nazwa przestrzeni nazw i=|nazwa jednostki=Szablon:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw=Wikibooks|nazwa przestrzeni nazw 1=Szablon|nazwa przestrzeni nazw i=|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W pierwszym wywołaniu {{Code|nazwa przestrzeni nazw}} jest puste, ale dla tego bazowego (bez numerka) szukamy przestrzeni nazw, a więc ta nazwa jest ostateczna.
----
W drugim wywołaniu w dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni nazw o numerze dwa, która została podana, ale istnieje za to jej wersji ogólna {{Code|nazwa przestrzeni nazw i}} i domyślna {{Code|nazwa przestrzeni nazw}}, ale wtedy dla tego numerkowego liczy się to ogólne z {{Code| i}}, a ponieważ ta nazwa jest pusta, więc będziemy liczyli nazwę przestrzeni nazw z {{Code|nazwa jednostki 2}}.
Odpowiadająca powyższemu kodowi, powiedzmy wikikod, według ich zawartości, przedstawia się:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3}}
----
{{#invoke:Pudełko|Nazwa przestrzeni nazw 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie, nie wyniku, bo tam nie ma zmiennej {{Code|nazwa przestrzeni nazw 1}}, ale jest {{Code|nazwa przestrzeni nazw i}}:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw=""; -->
<!-- Czyli wynik: -->
Dyskusja
<!-- Widzimy, że wygenerowała się: nazwa przestrzeni nazw, którą jest przestrzeń nazw niegłówna, jest ciągiem niepustym; -->
----
<!-- Ale nie "nazwa przestrzeni nazw 2", bo jej nie ma, ale za to istnieje "nazwa przestrzeni nazw i"; -->
<!-- nazwa przestrzeni nazw 2=nazwa przestrzeni nazw i="", a nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks
<!-- Widzimy, że wygenerowała się nazwa przestrzeni nazw, którą jest przestrzeń nieprogramowa, ale projektu, wychodząca z nazwy jednostek w tym przypadku z "nazwa jednostki 2"; -->
</syntaxhighlight>
Dla parametrów numerkowych nie jest brana w tym powyższym przykładzie zmienna {{Code|nazwa przestrzeni nazw 2}}, bo jej nie ma, ale za to jest {{Code|nazwa przestrzeni nazw i}}, bo ona występuje jako parametr domyślny ogólny dla parametrów numerkowych. Tytaj jest używana jest zmienna {{Code|nazwa jednostki 2}} do wygenerowania ostatecznego wyniku, bo jak można zauważyć, parametry przestrzenne wskazują na przestrzeń główną, a nazwy jednostek już nie. Dla parametrów bazowych mamy zmienną {{Code|nazwa przestrzeni nazw}}, ona jest pusta, więc to zostanie wzięte do ostatecznego wyniku.
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw{{=}}Moja przestrzeń|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw=Moja przestrzeń|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2{{=}}Moja przestrzeń|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|Szablon|nazwa przestrzeni nazw 2=Moja przestrzeń|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Szablon}}}}
* {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przestrzeni nazw dyskusji 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Szablon|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostek, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
Analogicznie możemy podawać parametry typu jednostki, np.: wywołaniu modułowym {{Code|{{m|Pudełko|Nazwa przestrzeni nazw dyskusji 3|typ jednostki 2{{=}}Podręcznik|nazwa jednostki 2{{=}}Szablon:Strona|numer jednostki{{=}}2}}}} (ale wtedy jest brana przestrzeń nazw z nazwy jednostki), ale o tym więcej w rozdziałach {{Code|{{sr|#p["Dyskusyjny typ jednostki 3"](frame,i)|p=Pudełko/Tom I}}}} w „{{sr|#Funkcje typu jednostki|p=Pudełko/Tom I}}”, one definiują dane przestrzenie dyskusji, ale można użyć parametru dyskusji typu jednostki z obojętnie jaką wartością niepustą, czy pustą, czy nawet jej nie podamy, wtedy wyświetli się nazwa przestrzeni nazw dyskusji. Jeżeli typ jednostki bazowy wskazuje na przestrzeń nazw główną, wtedy się nie liczą parametry nazw jednostek, a w przypadku numerkowego, wtedy się liczy. Typ jednostki nie ma takiej samej wartości dla przestrzeni przedmiotowej, co dyskusji.
Również parametry typu jednostki nie powinno się podawać w dziecku w ramce, tylko w rodzicu w szablonie jako parametry, w którym ta ramka jest wywoływana, ale tutaj podano jedynie dla przykładu, jak najłatwiej sprawdzić działanie tych parametrów tej funkcji.
Najpierw w funkcji nagłówku brane są parametry nazw przestrzeni nazw, a jeżeli ich nie ma, to parametry typu jednostki, a jeżeli nie ma lub parametry przestrzenne wskazują na przestrzeń główną, i nie ma nazwy jednostki, to generowane są nazwy tej funkcji na podstawie aktualnej strony.
== Funkcje nazw jednostki ==
=== {{Code|p["Nazwa jednostki"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, podaną w parametrach z: {{Code|nazwa jednostki}} dla tego bazowego, a dla numerkowego: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerkowanych: {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, nawet gdyby ona była z przestrzenią nazw;
return pudelko_pomocne_modul.Nazwa_jednostki(frame,i);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Nazwa_jednostki(frame,i)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki drugiej wersji ==
=== {{Code|p["Nazwa jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających, w pozostałych przypadkach ona działa, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,nil);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 2"](frame,i)}} ===
Funkcja pisze przedmiotową nazwę jednostki na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy przedmiotowa nazwa jednostki, tzn. gdy parametry przestrzenne wskazują na przestrzeń głównej i „Dyskusja”, wtedy ona zostanie zamieniona na przestrzeń główną, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa, po zamianie, nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną i "Dyskusji";
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"przedmiotowa");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja szablonu|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja szablonu|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja szablonu|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja szablonu|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 2"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Co to znaczy nazwa jednostki dyskusji, tzn. gdy parametry przestrzenne wskazują na przestrzeń główną, to wtedy ona nie jest zamieniana na „Dyskusja”, i wtedy jest liczona nazwa strony bez przestrzeni nazw z nazwy jednostki. W pozostałych przypadkach funkcja działa dla jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 2"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczenie nazwy jednostki, bez nazwy przestrzeni w nazwie strony, jeżeli parametry przestrzenne wskazują na przestrzeń nazw główną;
return pudelko_pomocne_modul.Jaka_nazwa_jednostki(frame,i,"dyskusja");
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Jaka_nazwa_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje nazw jednostki trzeciej wersji ==
=== {{Code|p["Nazwa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} , tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa przedmiotowa jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy przedmiotowa nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną, czy „Dyskusja”), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa przedmiotowa jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
<!-- nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Nazwa dyskusji jednostki 3"](frame,i)}} ===
Funkcja pisze nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego podanego w parametrach bazowych z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}, podawane tylko w parametrach szablonu rodzica ramki.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak działa, dla parametrów przestrzennych oraz jednostek, bazowych, jak {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, i numerkowych, jak {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli chcemy, aby funkcja liczyła podaną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, niezależnie, czy jest bazowa, czy numerkową, wtedy należy użyć funkcji {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Jeżeli z parametrów przestrzennych wynika przestrzeń główna, to wtedy jest wyznaczana nazwa strony z parametrów jednostek odpowiadających dla parametrów numerkowych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Nazwa dyskusji jednostki 3"]=function(frame,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
-- Jest liczony numer parametru nazwy przestrzeni nazw, domyslnie chodzi tu o numer bazowy parametrów przestrzennych i jednostek;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numeru_jednostki=((numer_jednostki)and(tonumber(numer_jednostki)) or 0);
local pudelko_pomocne_modul=require("Module:Pudełko/Pomocne");
-- Liczy nazwę przestrzeni nazw na podstawie podanych parametrów;
return pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,nil,liczba_numeru_jednostki,nil,2);
</syntaxhighlight>
Funkcja wykorzystuje {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} do wyznaczania ogólnego nazwy jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni, chociaż nie zawsze, tutaj ma znaczenie, bo bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
<!-- nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
q2gu6a20a9ylprx1r98iuu2aoixbj82
Wikipedysta:Persino/Moduły/Pudełko/Tom II
2
63485
540819
540788
2026-04-26T12:28:42Z
Persino
2851
/* {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} */
540819
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
94xw48p8gmfznw6a4mq554p8bnqvto2
540820
540819
2026-04-26T12:29:25Z
Persino
2851
/* {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} */
540820
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kz56np6qfgswuekuhiku1fm1z1za09n
540821
540820
2026-04-26T12:30:32Z
Persino
2851
/* {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} */
540821
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9bl8yuw3qeo4fnfxny7dq3ur8h9lo76
540827
540821
2026-04-26T13:09:18Z
Persino
2851
/* Funkcje pełnych nazw jednostki trzeciej wersji */
540827
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przedmiotowej przestrzeni, po zamianie, nazw głównej (co odpowiada przestrzeni głównej lub „Dyskusja”) nazwa jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kg2x10tjo1412dubbklzkk1vruskkih
540828
540827
2026-04-26T13:31:27Z
Persino
2851
540828
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przedmiotowej przestrzeni, po zamianie, nazw głównej (co odpowiada przestrzeni głównej lub „Dyskusja”) nazwa jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6htu0t1jkfdvkgffib9id0nxkm7o6ka
540829
540828
2026-04-26T13:40:39Z
Persino
2851
540829
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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 pełnych nazw jednostki ==
=== {{Code|p["Pełna nazwa jednostki"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw dyskusji;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa jednostki"](frame,liczba_numer_jednostki);
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Dyskusja szablonu:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki drugiej wersji ==
=== {{Code|p["Pełna nazwa jednostki 2"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła pełną nazwę jednostki, niezależnie nawet gdy nazwa przestrzeni jest o wartości pustej (wskazuje na przestrzeń główną), czy nie, wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
local nazwa_jednostki=pudelko_modul["Nazwa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy przedmiotowe jednostek podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o przedmiotowej wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną, czy „Dyskusja”), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przedmiotowej przestrzeni nazw 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa przedmiotowa jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 2"](frame,...)}} ===
Funkcja pisze pełne nazwy jednostek dyskusji podobnie dla pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych.
Jeżeli chcemy, aby funkcja liczyła prawdziwą pełną nazwę jednostki, nawet gdy nazwa przestrzeni jest o wartości pustej (nazwa przestrzeni nazw wskazuje na przestrzeń główną), wtedy należy użyć funkcji {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 2"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przedmiotową przestrzeni nazw;
local nazwa_przestrzeni_nazw=pudelko_modul["Nazwa przestrzeni nazw dyskusji 2"](frame,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki);
---- Liczy nazwę jednostki;
local nazwa_jednostki=pudelko_modul["Nazwa dyskusji jednostki 2"](frame,liczba_numer_jednostki);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} (do liczenia nazwy przestrzeni nazw), {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}} (do liczenia nazwy jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przestrzeni nazw i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: false, w której nazwa domyślna nie jest uwzględniana wtedy, oraz nil i true, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Szablon}}}}, nazwa domyślna zostatnie zamieniona na przedmiotową, a jeśli jest już taka, to takiej transfomacji nie ma, a jeśli nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, to wzięty jest ten parametr, a jeżeli nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw{{=}}Dyskusja|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw=Dyskusja|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2{{=}}Dyskusja|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 2|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
== Funkcje pełnych nazw jednostki trzeciej wersji ==
=== {{Code|p["Pełna nazwa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,0,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa przedmiotowa jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy przedmiotowe jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przedmiotowej przestrzeni, po zamianie, nazw głównej (co odpowiada przestrzeni głównej lub „Dyskusja”) nazwa jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa przedmiotowa jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa przedmiotowa jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,1,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przedmiotowej przestrzeni nazw 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa przedmiotowa jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwaa przestrzeni nazw="Szablon", nazwa jednostki="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
----
<!-- nazwaa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Dyskusja Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Dyskusja Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Dyskusja Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Dyskusja Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Dyskusja Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Dyskusja Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
=== {{Code|p["Pełna nazwa dyskusji jednostki 3"](frame,...)}} ===
Funkcja pisze pełną nazwy dyskusji jednostek w zależności od pozycji bazowej lub numerkowej, tzn. {{Parametr|numer jednostki}}, na podstawie tego bazowego podanego w parametrach z: {{Code|nazwa jednostki}}, lub tych z numerkiem {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametry numerowane podawane tylko w parametrach rodzica ramki, tzn. {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}}.
One też są wyznaczane na podstawie {{Code|nazwa przestrzeni nazw}} dla pozycja bazowej, lub dla innej pozycji należy parametr podawać w formie {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., lub te parametry można podać w postaci ogólnej {{Code|nazwa przestrzeni nazw i}}, ale te parametry szczególne mają większą ważność niż ich ta wersja ogólna, a jeżeli nie są one podane dla danej pozycji, to dla pozycji numerkowej liczy się ta wersja bazowa.
Parametry podaje się w parametrach rodzica wywołania tej funkcji {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3}}}} (ale ich nie trzeba podawać w dziecku, ale można) i w parametrach dziecka, jeśli chodzi o zmienną {{Code|numer jednostki}}, czyli, np.: {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki{{=}}<jakaś liczba całkowita naturalna>}}}}.
Te parametry przestrzenne podawane w rodzicu w szablonie można dać w ramce dziecka, wtedy parametry dziecka mają pierwszeństwo.
Ta funkcja nie tak samo działa, dla parametrów przestrzennych oraz jednostek, bazowych i numerkowych. Dla parametrów bazowych działa jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}}, wtedy dla przestrzeni nazw głównej nazwa przestrzeni z nazwy jednostki się nie liczy, a numerkowych jak: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}, a tutaj się liczy.
Jeżeli chcemy, aby funkcja liczyła tą samą pełną nazwę jednostki dla parametrów przestrzennych, co bazowych, należy użyć: {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki"](frame,...)|p=Pudełko/Tom II}}}} lub {{Code|{{sr|#p["Pełna nazwa dyskusji jednostki 2"](frame,...)|p=Pudełko/Tom II}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Pełna nazwa dyskusji jednostki 3"]=function(frame,czy_uwzglednic_alternatywna_nazwe,i)...end;
</syntaxhighlight>
Wtedy ciało funkcji tej, czyli jego definicja w środku, jest:
<syntaxhighlight lang="lua">
---- Liczenie, które parametry ma uwzględniać, tzn. bazowe, czy numerkowe;
local numer_jednostki=i or frame.args["numer jednostki"];
local liczba_numer_jednostki=((numer_jednostki)and(tonumber(numer_jednostki))or 0);
local pudelko_modul=require("Module:Pudełko");
---- Liczy nazwę przestrzeni nazw i nazwę jednostki;
local nazwa_przestrzeni_nazw,nazwa_jednostki=pudelko_pomocne_modul.Uzyskanie_nazw_jednostki(frame,2,czy_uwzglednic_alternatywna_nazwe,liczba_numer_jednostki,nil,0);
---- Liczy pełną nazwę jednostki;
if(nazwa_przestrzeni_nazw~="")then return nazwa_przestrzeni_nazw..":"..nazwa_jednostki;else return nazwa_jednostki;end;
</syntaxhighlight>
Funkcja wykorzystuje: {{Code|{{sr|#p.Uzyskanie_nazw_jednostki(frame,...)|p=Pudełko/Pomocne}}}} (do liczenia nazwy przestrzeni nazw i jednostki), co na tej podstawie jest liczona pełna nazwa jednostki, do wyznaczania ogólnego nazwy przzestrzeni i jednostki dla pozycji bazowej i numerkowej, tzn. dla pozycji: jeden, dwa, trzy,..., itd, i ich ogólnej, tzn. według funkcji: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, dla pozycji zerowej.
Ta funkcja uruchamia dla parametrów bazowych funkcje: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa jednostki"](frame,i)|p=Pudełko/Tom I}}}}, a dla numerkowych: {{Code|{{sr|#p["Nazwa przestrzeni nazw dyskusji 2"](frame,...)|p=Pudełko/Tom I}}}} i {{Code|{{sr|#p["Nazwa dyskusji jednostki 2"](frame,i)|p=Pudełko/Tom I}}}}.
Parametry funkcji:
* {{Code|frame}} - tablica ramki tablicy transportu,
* {{Code|czy_uwzglednic_alternatywna_nazwe}} - czy ma uwzględniać nazwę przestrzeni nazw domyślną szablonu, dostępne wartości: {{Code|false}}, w której nazwa domyślna nie jest uwzględniana wtedy, oraz {{Code|nil}} i {{Code|true}}, które oznaczają to samo, w tym jeżeli ona jest uwzględniana, wtedy jest brany parametr pierwszy dziecka, który musi istnieć przy takiej wartości tego parametru, tzn. {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Szablon}}}}, a ten element jest używany, gdy nazwa uzyskana nazwy przestrzeni nazw jest w takim przypadku błędna, a jeżeli wtedy nazwa domyślna jest błędna, czyli {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|Moja przestrzeń}}}}, wtedy funkcja zwraca stan błędu {{Code|(błąd)}}, dla tej części tej funkcji wyznaczania nazwy przestrzeni nazw,
* {{Code|i}} - numer zmiennej nazwy przestrzeni nazw i nazwy jednostki.
Parametr ramki tablicy transportu rodzica szablonu:
* {{Code|nazwa przestrzeni nazw}}, {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, {{Code|nazwa przestrzeni nazw 3}},..., {{Code|nazwa przestrzeni nazw i}} - nazwy przestrzeni nazw dla pozycji bazowej oraz zwykłej i ogólnej numerkowej,
* {{Code|nazwa jednostki}} - nazwa jednostki bazowa, może być z przestrzenią nazw,
* {{Code|nazwa jednostki 1}}, {{Code|cel}} i {{Code|1}}, {{Code|nazwa jednostki 2}} i {{Code|2}}, {{Code|nazwa jednostki 2}} i {{Code|2}},...,
* {{Code|typ jednostki}}, {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, {{Code|typ jednostki 3}},..., {{Code|typ jednostki i}} - typy jednostek, którym odpowiadają pewne przestrzenie przedmiotowe, dla pozycji bazowej, numerkowej i ogólnej,
** {{Code|dyskusja typu jednostki}}, {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typ jednostki 2}}, {{Code|dyskusja typ jednostki 3}},..., {{Code|dyskusja typ jednostki i}} - czy dany typ jednostki ma przedstawiać, jeśli niepusta, przestrzeń dyskusji dla pozycji bazowej, numerkowej i ogólnej.
Parametry ramki tablicy transportu dziecka:
* Parametry dziecka są takie same jak rodzica dla funkcji pudełkowej plus tu wymienione, bez parametrów nienazwanych numerkowych i {{Code|cel}},
* {{Code|numer jednostki}} - jak parametr {{Code|i}} nie został ustawiony, to wtedy liczy się ta zmienna, jest to numer nazwy przestrzeni nazw i nazwy jednostki.
Przykłady:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu 1|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}
----
{{Nazwa szablonu 2|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona}}
</syntaxhighlight>
W dziecku powiedzmy jest wywołanie, i szukamy nazwy przestrzeni i nazwy jednostki o numerze dwa, nazwa przestrzeni tutaj jest bez znaczenia, bo nie bierze udziału w wyznaczaniu nazwy jednostki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3}}
----
{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|numer jednostki=2}}
</syntaxhighlight>
Na podstawie powyższego przykładu otrzymamy wynik o schemacie:
<syntaxhighlight lang="mediawiki">
<!-- nazwa przestrzeni nazw="Szablon", nazwa jednostki="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
----
<!-- nazwa przestrzeni nazw 2="Szablon", nazwa jednostki 2="Wikibooks:Strona"; -->
<!-- Czyli wynik: -->
Szablon:Wikibooks:Strona
</syntaxhighlight>
Przykłady w wikikodzie:
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}Szablon|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=Szablon|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}Szablon|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=Szablon|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw{{=}}|nazwa jednostki{{=}}Wikibooks:Strona}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw=|nazwa jednostki=Wikibooks:Strona}}}}
* {{Code|{{m|Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2{{=}}|nazwa jednostki 2{{=}}Wikibooks:Strona|numer jednostki{{=}}2}}}} → {{Tt|{{#invoke:Pudełko|Pełna nazwa dyskusji jednostki 3|nazwa przestrzeni nazw 2=|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}}}}
Powyżej dla przykładu podano parametry nie w rodzicu w szablonie, tylko w dziecku, jeśli chodzi o parametry nazw przestrzeni nazw i nazw jednostki, ale ich się za to nie powinno podawać w tych ramkach, tylko w szablonach, w których wywoływane są te ramki pudełek {{Code|{{m|Pudełko}}}}, ale tak tutaj tak zrobiono by było najłatwiej sprawdzić działanie tego typu funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
78z8njcblt7e55ofdmucagn3bddk0qq
Wikibooks:Moduły/Pudełko
4
63486
540812
540811
2026-04-26T12:00:26Z
Persino
2851
/* Opis tych parametrów */
540812
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} ====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{m|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
8hm214fuob47jmezfgeeqboseqlqazq
540813
540812
2026-04-26T12:01:09Z
Persino
2851
/* Parametry dodatkowe typów jednostek */
540813
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{m|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
icq1jcnghqfngtukuih8of9wn8z50t7
540814
540813
2026-04-26T12:04:18Z
Persino
2851
/* Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw */
540814
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{m|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5g0ncem83kype4p8y7kxkr465pz34ly
540815
540814
2026-04-26T12:06:36Z
Persino
2851
/* Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw */
540815
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję {{Code|{{m|Pudełko|Typ jednostki}}}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{m|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
b29zul6jwtncqvak6sb0u87a7038fo5
540816
540815
2026-04-26T12:07:53Z
Persino
2851
/* Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw */
540816
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{m|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bvpdymzd3es4odfckiuettlma5hafnh
540817
540816
2026-04-26T12:13:01Z
Persino
2851
/* Dokumentacja modułu {{Code|{{m|Pudełko}}}} */
540817
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje z których korzystają funkcje zdefiniowane w module {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
snt50qq3hcb7ty5kg0d3sxu4cilw901
540818
540817
2026-04-26T12:14:56Z
Persino
2851
/* Inne podmoduły */
540818
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kcdu5fultcuuw9c786b01ct0lftc5i1
540831
540818
2026-04-26T13:50:06Z
Persino
2851
/* Opis podstawowy parametrów pudełek */
540831
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
c0f1ata8h1obg1m90st9e23cbfmbwyp
540832
540831
2026-04-26T13:52:21Z
Persino
2851
/* Opis podstawowy parametrów pudełek */
540832
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki ozanczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hkr7a40bpbo0rsfe56y7r11ev0flw6w
540833
540832
2026-04-26T13:57:18Z
Persino
2851
/* Wprowadzenie */
540833
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1f3on01brz247tx8pkhkdwv6vgw98xb
540837
540833
2026-04-26T15:38:41Z
Persino
2851
/* Opis tych parametrów */
540837
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wyglądaL
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
** {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
** {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
** {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
** {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
** {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
** {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9xxr1wyfdrv49i7agaerrn0h64av0jx
540838
540837
2026-04-26T15:39:50Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540838
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wyglądaL
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9t6vjwblfj6d00ns0uwbmvmtp2cyxpn
540839
540838
2026-04-26T15:42:45Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540839
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wyglądaL
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rkzgpvq4wbyhwr0v3c4c2ozt9f6jdcv
540840
540839
2026-04-26T15:46:43Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540840
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wyglądaL
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0cwom13drg7tw56f25s7r10otskc4d1
540841
540840
2026-04-26T15:47:09Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540841
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
no6jwtmga4th7la9enkybr1l6nqk6oe
540842
540841
2026-04-26T15:48:48Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540842
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
f2tcmwp3asxjgqb6v68nocnsu817ea5
540843
540842
2026-04-26T15:51:49Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika}} */
540843
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mfk01oiqqm3k6r1ip02v3vqhy9ktqk5
540844
540843
2026-04-26T16:08:27Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540844
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l644irp3zrk9t2k0sshgo38xagq4b91
540845
540844
2026-04-26T16:11:26Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540845
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qon3essjxufipw7hn9cuxvioo7nowsa
540846
540845
2026-04-26T16:14:00Z
Persino
2851
/* {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} */
540846
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l6fgqmxdqzhasaxjsgcr1dej3q4i08l
540847
540846
2026-04-26T16:15:57Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540847
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ogq7zz3s88zzpc0ltuhz36kv2vipyj8
540848
540847
2026-04-26T16:27:55Z
Persino
2851
/* {{Code|obsługiwane opisy jako strony jednostek programowych}} */
540848
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}||obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sdqcx1yg1x7fw68oe924n2yy8g7l8uk
540849
540848
2026-04-26T16:28:17Z
Persino
2851
/* {{Code|obsługiwane opisy jako strony jednostek programowych}} */
540849
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}||obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4503a8sxwgaiv4po0122ijr1881i6qu
540850
540849
2026-04-26T16:29:02Z
Persino
2851
/* {{Code|obsługiwane opisy jako strony jednostek programowych}} */
540850
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6p182x0fi5k0xmakydmgkurp60vg1pu
540851
540850
2026-04-26T16:34:48Z
Persino
2851
/* {{Code|obsługiwane nieudokumentowane szablony jako szablony}} */
540851
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
p71dcrzko9s5vdm8msk27uhc9khu8tn
540852
540851
2026-04-26T16:37:54Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540852
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
c22e589vubk5eimpou321oy8gnbuvr4
540853
540852
2026-04-26T16:39:00Z
Persino
2851
/* Opis tych parametrów */
540853
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
r9snbdfzabdgnaddfeoz4e6gx8rddds
540854
540853
2026-04-26T16:39:30Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540854
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qg1zs4zoilh63to0eqklwfq058pshee
540855
540854
2026-04-26T16:44:37Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540855
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3092qn53csdzhhkogu7wbofhdtcpa9x
540856
540855
2026-04-26T16:47:18Z
Persino
2851
/* Opis tych parametrów */
540856
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3hub8gi8ggxbnphurk9k7wx3aktbhko
540857
540856
2026-04-26T16:48:55Z
Persino
2851
/* Opis tych parametrów */
540857
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
goclmklduaaab9kwcyzqzdi0sru1ad2
540858
540857
2026-04-26T16:55:40Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540858
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6t7txk6t22nj3k1x5b9qgmzsba5oil6
540859
540858
2026-04-26T16:57:30Z
Persino
2851
/* Opis tych parametrów */
540859
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
np5004af8hiv3pr6hlb5n9tdgtbdcxm
540860
540859
2026-04-26T17:00:26Z
Persino
2851
/* Opis tych parametrów */
540860
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
o8jjic4qj0ry3f4n3sjvem78y8wsrw8
540861
540860
2026-04-26T17:00:58Z
Persino
2851
/* Opis tych parametrów */
540861
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fap1wlhj8w6gzghrbxqrp12ppoigns2
540862
540861
2026-04-26T17:02:44Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540862
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}}}}}.
Wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2q2xaybrqentddh41av6z7yr3k8cylv
540863
540862
2026-04-26T17:05:04Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika}} */
540863
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mo714sxboete5fcif2totjzamd6ykcy
540864
540863
2026-04-26T17:09:52Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540864
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jv2l62is7kbtzvl2q63tter470vfva2
540865
540864
2026-04-26T17:11:04Z
Persino
2851
/* Opis tych parametrów */
540865
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na niezależnie jakiej stronie:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s6434udy5mu4gn83s95bq6wxt9n6iji
540866
540865
2026-04-26T17:12:49Z
Persino
2851
/* Opis tych parametrów */
540866
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|Strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mjhfkeqwc94sge38pybqkmzjlmfs9nv
540867
540866
2026-04-26T17:14:19Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540867
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cm62osr02amyb3sxd85bhpq2l4zkvnw
540868
540867
2026-04-26T17:17:44Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540868
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|Strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
a2z5xpfs3untrb39rijvlosvk7rv6cp
540870
540868
2026-04-26T17:24:32Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540870
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona brudnopisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona opisu szablonu}} lub {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
8e138alvntwu5xu8fxit9wy1w6ex9nx
540871
540870
2026-04-26T17:28:17Z
Persino
2851
/* Opis tych parametrów */
540871
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona opisu modułu}} lub {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rfyhrr23ohk0is2j40mp1jicatrv93p
540873
540871
2026-04-26T17:30:22Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540873
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5i1nn7guwrhrpsszzhkd0ko59uqio8k
540874
540873
2026-04-26T17:33:52Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540874
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
icefsexkfjjjn2mojtzp019cmqkbnzo
540876
540874
2026-04-26T17:38:53Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540876
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mw3k9fgv9cam7wxbqvwh3zki4uehsub
540877
540876
2026-04-26T17:41:04Z
Persino
2851
/* {{Code|obsługiwane nieudokumentowane szablony jako szablony}} */
540877
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9if72w0leujje05yj7r7ybks60p45my
540878
540877
2026-04-26T17:41:46Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540878
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cy95laieln2qp5dkwo04oebxk2js6i3
540879
540878
2026-04-26T17:43:27Z
Persino
2851
/* Opis tych parametrów */
540879
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** W przeciwnym wypadku przy użyciu tego parametru itrzymamy wynik {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wteedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
74ru2jligqix3ssma64bd19042h8002
540881
540879
2026-04-26T18:05:06Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540881
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}}, {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
shijjyv098hy1q8q82xu2wlsbgjdj9y
540884
540881
2026-04-26T18:16:20Z
Persino
2851
/* {{Code|obsługiwane nieudokumentowane szablony jako szablony}} */
540884
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7eoh1uens3msykboi4tsxmbata0pvur
540885
540884
2026-04-26T18:22:55Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540885
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy:
** Szablony opisów - to wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
nwlkjyd1yr2791f37ezuvbbmyanv4uf
540888
540885
2026-04-26T18:29:20Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540888
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy podobnie, jak dla szablonu dla podobych pozycji wywołań {{m|Pudełko|Typ jednostki}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
grc7u8ss8pfttuhri8b5onmo3v67gt8
540889
540888
2026-04-26T18:30:04Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540889
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}}}}}.
* {{Np|Module|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu modułu}}, dalej: {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy podobnie, jak dla szablonu dla podobych pozycji wywołań {{Code|{{m|Pudełko|Typ jednostki}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
lf7qzu2sodgamfw3fv9ph4wx2x485u0
540890
540889
2026-04-26T18:32:42Z
Persino
2851
/* {{Code|obsługiwane opisy jako strony jednostek programowych}} */
540890
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy podobnie, jak dla szablonu dla podobych pozycji wywołań {{Code|{{m|Pudełko|Typ jednostki}}}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
74tgwxugcxcu3a7em2qd2slxlqhhfqr
540891
540890
2026-04-26T18:33:07Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540891
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
8bxzu03picg6pjh4h40bfggrnrz3dox
540893
540891
2026-04-26T18:35:09Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540893
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0pc8ppg7qa2f7yk71uoc7giv40pmlzv
540894
540893
2026-04-26T18:41:06Z
Persino
2851
/* Opis tych parametrów */
540894
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona modułu}} lub {{Code|strona opisu modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona modułu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
e6dgzn8x87c3zi9m1yfe9c0v0cskw11
540896
540894
2026-04-26T18:46:01Z
Persino
2851
/* {{Code|obsługiwane brudnopisy jako normalne strony}} */
540896
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy jest zwracany wynik {{Code|strona brudnopisu modułu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}}, w przeciwnym wypadku zwracany jest wynik {{Code|strona modułu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4knsozoktzl56ljqxy0axusuktsw34i
540897
540896
2026-04-26T18:51:21Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540897
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rv7cnz0pdi0c4ubqxxb98ktcz4ji4yu
540898
540897
2026-04-26T18:55:00Z
Persino
2851
/* Opis tych parametrów */
540898
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3m0gtueuj2juszkyv4qpcoigcc4q2k6
540899
540898
2026-04-26T18:56:44Z
Persino
2851
/* Opis tych parametrów */
540899
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy {{Code|strona projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Template|link=tak}} - szablony umieszczone w tych przestreniach nazw:
** Wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
** Wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy wynik {{Code|strona brudnopisu projektu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to otrzymamy kolejno wyniki: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}}}}}.
*: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy kolejno {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw:
** Wtedy otrzymamy kolejno: {{Code|strona szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Wtedy otrzymamy kolejno: {{Code|strona brudnopisu szablonu}}, niezależnie, gdzie został umieszczony w szablonie, czy opisie, w tej przestrzeni nazw:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane brudnopisy jako normalne strony{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy:
** Szablony nieopisowe lub nie - to wtedy otrzymamy {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
** Szablony nieopisowe - to wtedy otrzymamy {{Code|strona szablonu}}:
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
**: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
* {{Np|Module|link=tak}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pcfrns7yltpep6b8xpgnzxj18r7s97c
540901
540899
2026-04-26T19:04:24Z
Persino
2851
/* Opis tych parametrów */
540901
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak|obsługiwane jednostki użytkownika jako normalne strony{{=}}|obsługiwane jednostki jako nieopisowe strony{{=}}}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}}:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu projektu}}:
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pjn2r7zut2kjnugy43aw6z5tkq7fh95
540902
540901
2026-04-26T19:04:55Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika}} */
540902
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}} przy nieustawionym parametrze {{Code|obsługiwane brudnopisy jako normalne strony}} w przeciwnym wypadku {{Code|strona szablonu}}:
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to otrzymamy podobnie, jak dla przestrzeni nazw szablonu, nazwy zwracane są analogiczne, tzn.: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}}:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu projektu}}:
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
gaik862mhptjkzq3wew5t9zyej5tmcs
540903
540902
2026-04-26T19:09:09Z
Persino
2851
/* {{Code|obsługiwane jednostki jako nieopisowe strony}} */
540903
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}}.
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}}.
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}}.
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}}.
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}}.
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}}:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu projektu}}:
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}}, później {{Code|strona szablonu}}:
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}}.
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
f644cqg6nhv75jea3ar6s95z93jnpiq
540904
540903
2026-04-26T19:14:01Z
Persino
2851
/* Opis tych parametrów */
540904
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je podano dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu projektu}},
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
i659k09ncranxzdzbifabqlfu7vtsvf
540905
540904
2026-04-26T19:17:22Z
Persino
2851
/* Opis tych parametrów */
540905
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu projektu}},
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
f0kud7cbp1f1s72gfzyh8cw0tw3ndce
540906
540905
2026-04-26T19:24:14Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540906
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mgfssqaxqj03mb7q1n6k1v55ublerls
540907
540906
2026-04-26T19:28:04Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540907
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rnkht9nnve9kkk043zfb2m6lb87xcr1
540908
540907
2026-04-26T19:28:56Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika}} */
540908
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku {{Code|jednostka użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4tjphvz2l8z4foqm390opfaqlq4tkrx
540909
540908
2026-04-26T19:29:21Z
Persino
2851
/* {{Code|obsługiwane jednostki brudnopisu projektu}} */
540909
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku {{Code|jednostka użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7yr0787hiq392y23wmj4b5pxbbb9zmm
540910
540909
2026-04-26T19:29:41Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika}} */
540910
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie, w tej przestrezeni nazw.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n97pi1nw4ity1rpodpmf9y39n9utpel
540911
540910
2026-04-26T19:38:37Z
Persino
2851
/* {{Code|obsługiwane nieudokumentowane szablony jako szablony}} */
540911
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}}, to otrzymamy {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - wtedy ona zwraca wynik {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - wtedy zwraca wynik {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - wtedy mamy wynik {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - wtedy zwraca wynik {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
30ytxc1xkks6l207jc276qxd6u9uhqd
540912
540911
2026-04-26T19:43:54Z
Persino
2851
/* Opis tych parametrów */
540912
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
asuaeoz0wwgl1bhjqjd151vbdaheb9e
540913
540912
2026-04-26T19:56:21Z
Persino
2851
/* Opis tych parametrów */
540913
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}} w zależnosci, czy on został umieszczony w nibyprzestrzeni brudnopisu, czy nie.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
m8jvq9dsvjbfxwfbq801dn4cdtuizze
540915
540913
2026-04-27T05:49:17Z
Persino
2851
/* {{Code|obsługiwane nieudokumentowane szablony jako szablony}} */
540915
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
oh2zuslo4gh203tjew3bezwt7ikbooh
540916
540915
2026-04-27T05:59:29Z
Persino
2851
/* Opis tych parametrów */
540916
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
djdq7ev5wp59mz9yose0acl0tx7gk56
540917
540916
2026-04-27T06:39:43Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540917
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
Jednostki użytkownika, tu chodzi o atykuły i podręczniki (jego strony główne) stworzone przez wikipedystę.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9f2e5xffqzm1r3us461hxtjjuiu3vhk
540918
540917
2026-04-27T06:42:13Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540918
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane jednostki użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
djdq7ev5wp59mz9yose0acl0tx7gk56
540920
540918
2026-04-27T06:45:15Z
Persino
2851
/* {{Code|obsługiwane jednostki użytkownika jako normalne strony}} */
540920
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane strony użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2l35qmj513zeyv6m501gjp4qty1ijk1
540921
540920
2026-04-27T07:10:59Z
Persino
2851
/* {{Code|obsługiwane strony użytkownika jako normalne strony}} */
540921
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane strony użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3ftj6zaxbs9zg1ljzgqog83i8tqg9ej
540922
540921
2026-04-27T07:19:56Z
Persino
2851
/* {{Code|obsługiwane strony użytkownika jako normalne strony}} */
540922
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane indywidua użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane indywidua użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
===== {{Code|(błąd typu jednostki)}} =====
===== {{Code|(błąd parametrów pudełkowych)}} =====
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
f48omt3iphkfwdaxfhn217dauvvgkli
540936
540922
2026-04-27T08:33:01Z
Persino
2851
/* Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} */
540936
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane indywidua użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane indywidua użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
Te błędy występują, w wywołaniach {{Code|{{m|Pudełko|Typ jednostki}}}} i jwgo podobnych.
===== {{Code|(błąd typu jednostki)}} =====
Występuje, gdy typ jednostki, o zawartości niepustej, nie chce się zgadzać, z wyróznionymi w funkcji, z nazwami przestrzeni nazw. Ten błąd występuje, gdy parametr {{Parametr|analiza}} jest o zawartości pustej lub nie podany. Wtedy typ jednostki nie jest liczony od nowa, aby sprawdzić z tą podaną.
Ten błąd czasami występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}, wtedy gdy nie podamy nazwy jednostki, i nie chcą się zgadzać parametry pudełkowe, w odróżnieniu od błędu {{Code|(błąd parametrów pudełkowych)}}. Wtedy typ jednostki jest liczony od nowa, aby sprawdzić z tą podaną.
===== {{Code|(błąd niezgodności)}} =====
Występuje, gdy uzyskana przestrzeń nazw z typu jednostki i parametrów przestrzennych, ewentualnie jednostki, nie są ze sobą zgodne, gdy nazwa jednostki jest nie podana i parametr {{Parametr|analiza}} również lub jest o zawartości pustej.
===== {{Code|(błąd parametrów pudełkowych)}} =====
Występuje, gdy nazwa przestrzeni nazw i nazwa jednostki, dla parametrów bazowych i numerkowych, są podane, wtedy nie chcą się zgadzać parametry pudełkowe, tzn. parametry przestrzenne i jednostki oraz typu jednostki nie są ze sobą zgodne. Ten błąd występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}.
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
owqddna71a23cdw5k19m5tzyxwpup5q
540937
540936
2026-04-27T08:39:53Z
Persino
2851
/* Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} */
540937
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane indywidua użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane indywidua użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
Te błędy występują, w wywołaniach {{Code|{{m|Pudełko|Typ jednostki}}}} i jego podobnych, gdy typ jednostki podany do parametru rodzica ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}} jest o zawartości niepustej.
===== {{Code|(błąd typu jednostki)}} =====
Występuje, gdy typ jednostki nie chce się zgadzać, z wyróznionymi w funkcji, z nazwami przestrzeni nazw. Ten błąd występuje, gdy parametr {{Parametr|analiza}} jest o zawartości pustej lub nie podany. Wtedy typ jednostki nie jest liczony od nowa, aby sprawdzić z tą podaną.
Ten błąd czasami występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}, wtedy gdy nie podamy nazwy jednostki, i nie chcą się zgadzać parametry pudełkowe, w odróżnieniu od błędu {{Code|(błąd parametrów pudełkowych)}}. Wtedy typ jednostki jest liczony od nowa, aby sprawdzić z tą podaną.
===== {{Code|(błąd niezgodności)}} =====
Występuje, gdy uzyskana przestrzeń nazw z typu jednostki i parametrów przestrzennych, ewentualnie jednostki, nie są ze sobą zgodne, gdy nazwa jednostki jest nie podana i parametr {{Parametr|analiza}} również lub jest o zawartości pustej.
===== {{Code|(błąd parametrów pudełkowych)}} =====
Występuje, gdy nazwa przestrzeni nazw i nazwa jednostki, dla parametrów bazowych i numerkowych, są podane, wtedy nie chcą się zgadzać parametry pudełkowe, tzn. parametry przestrzenne i jednostki oraz typu jednostki nie są ze sobą zgodne. Ten błąd występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}.
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
alavixgjfp21bvod3diftx2ur1w7uww
540947
540937
2026-04-27T10:02:48Z
Persino
2851
/* {{Code|(błąd niezgodności)}} */
540947
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local pudelko_modul=require("Module:Pudełko");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
== Opis podstawowy parametrów pudełek ==
Posługuje się na parametrach pudełkowych {{Parametr|nazwa przestrzeni nazw}} (czy też bez numerka {{Parametr|nazwa przestrzeni nazw i}} dla tego numerowanego) lub te z numerkiem po jednej spacji w nich (ale nie dla tego z końcówką {{Code| i}}) mogą zostać użyte jako parametry szablonu.
Moduł {{Code|{{ld2|Pudełko}}}} przedstawia funkcje nazw w oparciu o funkcje nazw {{Code|{{ld2|Nazwy}}}}, generuje on nazwy za pomocą parametrów pudełkowych podanych poniżej.
Parametr {{Parametr|nazwa jednostki}} (lub parametr {{Parametr|cel}} dla numerka tego pierwszego, tego alternatywnego), lub te z numerkiem po jednej spacji w nazwie parametru, albo numerowane numerkami {{Code|1}}, {{Code|2}},..., mogą zostać użyte jako parametry szablonu. Te parametry nienazwane i {{Code|cel}} {{=}} {{Code|1}}, są używane tylko w szablonie rodzica ramki dziecka w funkcjach wywołaniach modułowych {{Code|{{m|Pudełko}}}}.
Parametry określające rodzaj jednostki {{Parametr|typ jednostki}} z {{Parametr|dyskusja typu jednostki}}, itp. w wersjach z numerkiem po jednej spacji w nich mogą zostać użyte jako parametry szablonu. Też jest ich wersja z {{Code|i}} po spacji w tych parametrach podstawowych.
A te tymi numerowanymi liczbami naturalnymi {{Tt|nazwy jednostki}} od jedynki wzwyż poprzez szablon, w którym są one użyte, one też mogą być użyte z dwukropkiem, te numerowane, na samym początku nazwy, wtedy one są traktowane jako pełne nazwy strony, i wtedy one nie zostaną z interpretowane, że do nich trzeba użyć parametr odpowiedni z nazwą przetrzeni nazw z tego numerowanego, czy ogólny, aby utworzyć znów inną pełną nazwę strony dla tego numerka.
=== Zestawienie: ===
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa przestrzeni nazw i}} (ogólna nazwa przestrzeni nazw dla wszystkich numerków, i tych numerowanych jednostek) - i to pierwsze z numerkiem, tzn. {{Code|nazwa przestrzeni nazw 1}}, {{Code|nazwa przestrzeni nazw 2}}, ...,
* {{Code|nazwa jednostki}} - i te z numerkiem: {{Code|nazwa jednostki 1}}, {{Code|nazwa jednostki 2}}, ..., lub gdy jest zamiast tego parametrem numerowany, {{Code|1}}, {{Code|2}},..., który dla tego pierwszego może być uznany jako: {{Code|cel}} {{=}} {{Code|1}},
* {{Code|typ jednostki}} (parametr bazowy) i {{Code|typ jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|typ jednostki 1}}, {{Code|typ jednostki 2}}, ..., tzn. gdy chcemy określić z jakim typem jednostki mamy do czynienia w zależności do jakiej przestrzeni nazw należy, a w danej, czy jest on np. programowy, czy tylko jest opisem, jak to bywa w szablonach {{Np|Template|link=tak}}, podobnie jest w przypadku {{Np|Module|link=tak}}, czy jak jest w innych przestrzeniach nazw,
** {{Code|dyskusja typu jednostki}} (parametr bazowy) i {{Code|dyskusja typu jednostki i}} (parametr domyślny numerkowy) - i te z numerkiem: {{Code|dyskusja typu jednostki 1}}, {{Code|dyskusja typu jednostki 2}}, ..., gdy chcemy określić wartością niepustą, że chodzi tutaj o typ jednostki.
== Opis rodzajów typów jednostek ==
Typy jednostek to odpowiednik przestrzeni nazw i nie tylko, bo mówi dodatkowo jakiego typu strona jest danej przestrzeni nazw, czy to jest główny artykół podręcznika, czy zwykły, itp., mówi jakie jest to korzeń strony danej przestrzeni, nie musi być do podręcznik, czy podręcznik dla dzieci, objawia, czy np. jest to brudnopis i jakiego typu, czy w brudnopisie {{lr2|Brudnopis}}, jaki to jest artykuł główny i zwykły. Dla stron szablonów i modułów, również im odpowiadające strony brudnopisu, tzn. {{ls2|Brudnopis}} i {{ld2|Brudnopis}}, w przestrzeniach danego użytkownika, jakie strony są szablonami, czy modułami, a jakie ich opisami.
=== Typy jednostek i odpowiadające im nazwy przedmiotowe przestrzeni nazw ===
Są to wartości zwracane przez funkcję ramki: {{Code|{{m|Pudełko|Typ jednostki}}}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
==== Strony przedmiotowe ====
* Pzestrzeń główna - przestrzeń nazw {{Np|(main)|link=tak}}:
** {{Code|artykuł}} i {{Code|podręcznik}} - artykuł normalny podręcznika i jego strona główna,
* Przestrzeń projektów dla dzieci - przestrzeń nazw {{Np|Wikijunior|link=tak}}:
** {{Code|artykuł dla dzieci}} i {{Code|podręcznik dla dzieci}} - artykuł normalny podręcznika dla dzieci i jego strona główna, w przestrzeni nazw {{Np|Wikijunior|link=tak}},
* Strony projektu - przestrzeń nazw {{Np|Project|link=tak}}:
** Podręczniki:
*** {{Code|artykuł brudnopisu projektu}}, {{Code|podręcznik brudnopisu projektu}} - artykuł normalny brudnopisowy podręcznika i jego strona główna, w przestrzeni nazw {{lr2|Brudnopis}},
*** {{Code|jednostka brudnopisu projektu}} - jest to artykuł lub podręcznik w przestrzeni brudnopisowej {{lr2|Brudnopis}}, zamiast je nazywać jako {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}},
** Strony:
*** {{Code|strona brudnopisu projektu}} - ogólnie nazwana strona brudnopisu projektu, zamiast je nazywać: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}} albo {{Code|jednostka brudnopisu projektu}},
** {{Code|strona projektu}} - zwykła niebrudnopisowa strona projektu,
* Strony szablonu - przestrezeń nazw {{Np|Template|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona szablonu}} i {{Code|strona opisu szablonu}} - niebrudnopisowa strona szablonu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ls2|Brudnopis}},
*** {{Code|strona brudnopisu szablonu}} i {{Code|strona brudnopisu opisu szablonu}} - brudnopisowa strona szablonu i jego opisu,
* Strony modułu - przestrzeń nazw {{Np|Module|link=tak}}:
** Strony niebrudnopisowe:
*** {{Code|strona modułu}} i {{Code|strona opisu modułu}} - niebrudnopisowa strona modułu i jego opisu,
** Strony brudnopisowe - nibyprzestrzeń nazw {{ld2|brudnopis}}:
*** {{Code|strona brudnopisu modułu}} i {{Code|strona brudnopisu opisu modułu}} - brudnopisow sstrona modułu i jego opisu,
* Strony użytkownika - przestrzeń nazw {{Np|User|link=tak}}:
** Strony podręcznikowe:
*** {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} - artykuł normalny podręcznika i jego strona główna,
*** {{Code|jednostka użytkownika}} - inaczej nazwana strony podręcznika, nawet główna, czyli {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}},
** Inne strony:
*** {{Code|strona główna użytkownika}} - strona główna użytkownika,
*** {{Code|strona użytkownika}} - inaczej nazwana strona użytkownika, zamiast: {{Code|artykuł użytkownika}} i {{Code|podręcznik użytkownika}} oraz {{Code|strona główna użytkownika}},
* Inne typy jednostek:
** {{Code|strona pliku}} - strona w przestrzeni nazw pliku {{Np|File|link=tak}},
** {{Code|strona kategorii}} - strona w przestrzeni nazw kategorii {{Np|Category|link=tak}},
** {{Code|strona pomocy}} - strona pomocy w przestrzeni nazw pomocy {{Np|Help|link=tak}},
** {{Code|strona komunikatu}} - strona komunikatów w przestrzeni nazw {{Np|MediaWiki|link=tak}},
** {{Code|strona specjalna}} - strona specjalna w przestzreni nazw {{Np|Special|link=tak}},
** {{Code|strona główna projektu}} - strona główna projektu {{lr2|Strona główna}} w przestrzeni nazw {{Np|Project|link=tak}},
** {{Code|strona główna dla dzieci}} - strona główna dla dzieci {{lj2|Strona główna}} w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
==== Strony dyskusji ====
Nazwy typu jednostek {{Code|typ jednostek}} są takie same jak dla przestrzeni przedmiotowej, tylko z tą różnicą, za po spacji po pierwszym wyrazie występuje wyraz {{Code|dyskusji}}. i tak tego typu typy jednostek dla różnych przestrzeni nazw dyskusji są tworzone.
; Przykłady
* {{Code|artykuł}} → {{Code|artykuł dyskusji}},
* {{Code|artykuł dla dzieci}} → {{Code|artykuł dyskusji dla dzieci}},
* {{Code|strona użytkownika}} → {{Code|strona dyskusji użytkownika}}.
==== Strony niedopasowane ====
Jeżeli strona została niedopasowana do przestrzeni przedmiotowej, czy dyskusji, to funkcja {{Code|{{m|Pudełko|Typ jednostki}}}}, wtedy zwraca wartość {{Code|inne}}.
=== Tworzenie typów jednostek dyskusji i rodzina parametrów {{Code|dyskusja typu jednostki}} ===
Można poddać nazwę typu jednostki dla przestrzeni dyskusji, ale jest za to inny sposób, wtedy to samo skostrułować nalezy podać typ jednostki dla przestrzeni przedmiotowej i parametr dyskusji typu jednostki, np. dla pozycji bazowej {{Code|dyskusja typu jednostki}} z wartością {{Code|tak}}. Również z tą wartością może typ jednostki dla przestrzeni dyskusji, ale wtedy otrzymujemy tożssamość. Podobnie jest z tym dla parametrów typu jednostki i dyskusji typu jednostki dla pozycji numerkowej, tylko te parametry posiadają dodatkowy numerek na końcu po spacji lub podane w postaci ogólnej, jako litera {{Code|i}} na końcu tych zmiennych po spacji.
=== Parametry dodatkowe typów jednostek ===
==== Wprowadzenie ====
Dodatkowe parametry podajemy w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w sposob, np:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Lub z to samo, ale z parametrem {{Parametr|numer jednostki|2}} z przykładową wartością, wartość {{Code|0}}, wtedy tego parametru można nie podawać, oznacza przestrzeń bazową, a {{Code|1}}, {{Code|2}},..., natomiast numerkową, wtedy ten parametr jest konieczny, a te numerki oznaczają numer parametru typu jednostki lub dyskusji typu jednostki, więc:
* {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak|numer jednostki{{=}}2}}}}.
Te parametry dodatkowe coś oznaczają.
==== Opis tych parametrów ====
W nagłówkach tytułów są to parametry podawane do ramki, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w parametrach dziecka szablonu rodzica.
Parametry te, które mają wartość pustą, można nie podawać, ale można, ale je można podać dla uwypuklenia problemu. Te parametry można łączyć ze sobą. Poniżej podano przykładowe wywołania z jednym tylko parametrem.
Dokładniejszy opis tych funkcji ze strony programowej, jako kod w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest na stronie {{Code|{{m|Pudełko/Pomocne}}}}.
===== {{Code|obsługiwane jednostki jako nieopisowe strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki jako nieopisowe strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|(main)|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł}},
* {{Np|Wikijunior|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|artykuł dla dzieci}},
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}},
* {{Np|Project|link=tak}} w nibyprzestrzeni nazw {{lr2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu projektu}},
* {{Np|Template|link=tak}} w nibyprzestrzeni nazw {{ls2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu szablonu}},
* {{Np|Module|link=tak}} w nibyprzestrzeni nazw {{ld2|Brudnopis}} - to wtedy funkcja zwraca wynik: {{Code|strona brudnopisu modułu}}.
===== {{Code|obsługiwane indywidua użytkownika jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane indywidua użytkownika jako normalne strony{{=}}tak}}}}.
* {{Np|User|link=tak}} - to wtedy funkcja zwraca wynik: {{Code|strona użytkownika}}.
===== {{Code|obsługiwane jednostki użytkownika}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki użytkownika{{=}}tak}}}}.
* {{Np|User|link=tak}} to wtedy funkcja zwraca wynik: {{Code|artykuł użytkownika}} lub {{Code|podręcznik użytkownika}}, w przeciwnym wypadku: {{Code|jednostka użytkownika}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane brudnopisy jako normalne strony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane brudnopisy jako normalne strony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|strona projektu}},
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona szablonu}} lub {{Code|strona opisu szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona modułu}} lub {{Code|strona opisu modułu}}.
===== {{Code|obsługiwane jednostki brudnopisu projektu}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane jednostki brudnopisu projektu{{=}}tak}}}}.
* {{Np|Project|link=tak}} - to wtedy otrzymamy: {{Code|artykuł brudnopisu projektu}} lub {{Code|podręcznik brudnopisu projektu}}, w przeciwnym wypadku: {{Code|jednostka brudnopisu projektu}}, w przypadku nieużycia tego parametru.
===== {{Code|obsługiwane strony jako niebrudnopisowe jednostki programowe}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane strony jako niebrudnopisowe jednostki programowe{{=}}tak}}}}.
* {{Np|Template|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy wynik: {{Code|strona modułu}}.
===== {{Code|obsługiwane opisy jako strony jednostek programowych}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}},
* {{Np|Module|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu modułu}} lub {{Code|strona modułu}}.
===== {{Code|obsługiwane nieudokumentowane szablony jako szablony}} =====
Tę funkcje z tym parametrem wywołujemy umieszczając szablon z nim w jakieś przestrzeni nazw, a to wywołanie wygląda, w ktorych jeden z parametrów jest:
: {{Code|{{m|Pudełko|Typ jednostki|obsługiwane nieudokumentowane szablony jako szablony{{=}}tak}}}}.
Dla przestrzeni nazw po umieszczeniu szablonu z nim tam na stronie na wymienionych przestrzeniach nazw:
* {{Np|Template|link=tak}} - to wtedy otrzymamy: {{Code|strona brudnopisu szablonu}} lub {{Code|strona szablonu}}.
==== Możliwe błędy wywołań {{Code|{{m|Pudełko|Typ jednostki}}}} ====
Te błędy występują, w wywołaniach {{Code|{{m|Pudełko|Typ jednostki}}}} i jego podobnych, gdy typ jednostki podany do parametru rodzica ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}} jest o zawartości niepustej.
===== {{Code|(błąd typu jednostki)}} =====
Występuje, gdy typ jednostki nie chce się zgadzać, z wyróznionymi w funkcji, z nazwami przestrzeni nazw. Ten błąd występuje, gdy parametr {{Parametr|analiza}} jest o zawartości pustej lub nie podany. Wtedy typ jednostki nie jest liczony od nowa, aby sprawdzić z tą podaną.
Ten błąd czasami występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}, wtedy gdy nie podamy nazwy jednostki, i nie chcą się zgadzać parametry pudełkowe, w odróżnieniu od błędu {{Code|(błąd parametrów pudełkowych)}}. Wtedy typ jednostki jest liczony od nowa, aby sprawdzić z tą podaną.
===== {{Code|(błąd niezgodności)}} =====
Występuje, gdy uzyskana przestrzeń nazw z typu jednostki i parametrów przestrzennych, nie są ze sobą zgodne, gdy nazwa jednostki jest nie podana i parametr {{Parametr|analiza}} również lub jest o zawartości pustej.
===== {{Code|(błąd parametrów pudełkowych)}} =====
Występuje, gdy nazwa przestrzeni nazw i nazwa jednostki, dla parametrów bazowych i numerkowych, są podane, wtedy nie chcą się zgadzać parametry pudełkowe, tzn. parametry przestrzenne i jednostki oraz typu jednostki nie są ze sobą zgodne. Ten błąd występuje, gdy do wywołania tej funkcji dodamy parametr {{Parametr|analiza|tak}}.
== Spis treści ==
=== Dokumentacja modułu {{Code|{{ld2|Pudełko}}}} ===
* {{lr|Moduły/Pudełko/Tom I|Tom I}} - opis funkcji, nazw przestrzeni nazw i nazwy jednostek, normalnych, przedmiotowych i dyskusji,
* {{lr|Moduły/Pudełko/Tom II|Tom II}} - opis funkcji, pełnych nazw jednostek,
* {{lr|Moduły/Pudełko/Tom III|Tom III}} - opis typu jednostek oraz cech i błędów pudełka, normalnych, przedmiotowych i dyskusji. Także dokumentacji kodów i kluczy wiki, nazw stron projektu i dla dzieci, funkcje badania jakie to wiki oraz kody wiki tego projektu, itp. Opisuje funkcje, czy do szablonów pudełek podano parametry numerowane, nienazwane i nazwane.
=== Inne podmoduły ===
* {{sr|Pomocne|p=Pudełko|Pudełko - Pomocne}} - funkcje, z których korzystają funkcje zdefiniowane w wywołaniach modułowych {{m|Pudełko}},
* {{sr|Potrzebne|p=Pudełko|Pudełko - Potrzebne}} - funnkcje potrzebne do budowy wywołań ogólnego pudełka {{m|Pudełko|Ogólne pudełko}},
* {{sr|ParametryCechy|p=Pudełko|Pudełko - Parametry Cechy}} - funkcje zapytań potrzebne do implementacji szablonu {{s|Szablonowy opis pudełka}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
h9lsonbg8u1dks6m3v2ymnqbzcfbq43
Wikipedysta:Persino/Moduły/Pudełko/Tom III
2
63489
540834
540749
2026-04-26T14:48:02Z
Persino
2851
540834
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Code|Funkcje oparte na {{sr|#p.Typ_jednostki(frame,...)|p=Pudełko/Pomocne}}}} ==
=== Funkcje typu jednostki podstawowe ===
==== {{Code|p["Typ jednostki"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki"](frame,i)}} ====
=== Funkcje typu jednostki wersji drugiej ===
==== {{Code|p["Typ jednostki 2"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki 2"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki 2"](frame,i)}} ====
=== Funkcje typu jednostki wersji trzeciej ===
==== {{Code|p["Typ jednostki 3"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki 3"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki 3"](frame,i)}} ====
== Funkcje błędów pudełka ==
=== {{Code|p["Błędy pudełka"](frame)}} ===
=== {{Code|p["Przedmiotowe błędy pudełka"](frame)}} ===
=== {{Code|p["Dyskusyjne błędy pudełka"](frame)}} ===
== Funkcje chech pudełka ==
=== {{Code|p["Cecha pudełka"](frame)}} ===
=== {{Code|p["Przedmiotowa cecha pudełka"](frame)}} ===
=== {{Code|p["Dyskusyjna cecha pudełka"](frame)}} ===
== Funkcje ogólnego pudełka ==
=== {{Code|p["Ogólne pudełko"](frame)}} ===
== Funkcje ogólne ==
=== {{Code|p["Tekst pudełka"](frame)}} ===
== Funkcje nazw stron ==
=== {{Code|p["Nazwa strony głównej projektu"](frame,i)}} ===
=== {{Code|p["Nazwa strony głównej dla dzieci projektu"](frame,i)}} ===
== Funkcje kodów ==
=== {{Code|p["Kod języka"](frame,i)}} ===
=== {{Code|p["Kod projektu"](frame,i)}} ===
=== {{Code|p["Klucz projektu"](frame,i)}} ===
== Funkcje wiki ==
=== {{Code|p["Inny niż język bieżący wiki"](frame)}} ===
=== {{Code|p["Inne niż lokalne wiki"](frame)}} ===
=== {{Code|p["Inne niż bieżące wiki"](frame)}} ===
== Funkcje typów parametrów, czy podane je ==
=== {{Code|p["Podano parametry nienazwane"](frame)}} ===
=== {{Code|p["Podano parametry numerowane"](frame)}} ===
=== {{Code|p["Podano parametry nazwane"](frame)}} ===
== Funkcje kodów tego projektu ==
=== {{Code|p["Kod projektu tego projektu"](frame)}} ===
=== {{Code|p["Kod języka tego projektu"](frame)}} ===
=== {{Code|p["Klucz projektu tego projektu"](frame)}} ===
== Funkcje stron ==
=== {{Code|p["Strona główna tego projektu"](frame)}} ===
=== {{Code|p["Strona główna dla dzieci tego projektu"](frame)}} ===
== Funkcje nazw stron drugiej wersji ==
=== {{Code|p["Nazwa strony głównej dla dzieci projektu 2"](frame)}} ===
=== {{Code| p["Nazwa strony głównej projektu 2"](frame)}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
oxc1rb4rm7luyt5c6oueey8t4y1hfae
540835
540834
2026-04-26T14:50:45Z
Persino
2851
/* {{Code|Funkcje oparte na {{sr|#p.Typ_jednostki(frame,...)|p=Pudełko/Pomocne}}}} */
540835
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Pudełko}}|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óżne roddzaje i typy funkcji typów jednostek ==
=== Funkcje typu jednostki podstawowe ===
==== {{Code|p["Typ jednostki"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki"](frame,i)}} ====
=== Funkcje typu jednostki wersji drugiej ===
==== {{Code|p["Typ jednostki 2"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki 2"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki 2"](frame,i)}} ====
=== Funkcje typu jednostki wersji trzeciej ===
==== {{Code|p["Typ jednostki 3"](frame,i)}} ====
==== {{Code|p["Przedmiotowy typ jednostki 3"](frame,i)}} ====
==== {{Code|p["Dyskusyjny typ jednostki 3"](frame,i)}} ====
== Funkcje błędów pudełka ==
=== {{Code|p["Błędy pudełka"](frame)}} ===
=== {{Code|p["Przedmiotowe błędy pudełka"](frame)}} ===
=== {{Code|p["Dyskusyjne błędy pudełka"](frame)}} ===
== Funkcje chech pudełka ==
=== {{Code|p["Cecha pudełka"](frame)}} ===
=== {{Code|p["Przedmiotowa cecha pudełka"](frame)}} ===
=== {{Code|p["Dyskusyjna cecha pudełka"](frame)}} ===
== Funkcje ogólnego pudełka ==
=== {{Code|p["Ogólne pudełko"](frame)}} ===
== Funkcje ogólne ==
=== {{Code|p["Tekst pudełka"](frame)}} ===
== Funkcje nazw stron ==
=== {{Code|p["Nazwa strony głównej projektu"](frame,i)}} ===
=== {{Code|p["Nazwa strony głównej dla dzieci projektu"](frame,i)}} ===
== Funkcje kodów ==
=== {{Code|p["Kod języka"](frame,i)}} ===
=== {{Code|p["Kod projektu"](frame,i)}} ===
=== {{Code|p["Klucz projektu"](frame,i)}} ===
== Funkcje wiki ==
=== {{Code|p["Inny niż język bieżący wiki"](frame)}} ===
=== {{Code|p["Inne niż lokalne wiki"](frame)}} ===
=== {{Code|p["Inne niż bieżące wiki"](frame)}} ===
== Funkcje typów parametrów, czy podane je ==
=== {{Code|p["Podano parametry nienazwane"](frame)}} ===
=== {{Code|p["Podano parametry numerowane"](frame)}} ===
=== {{Code|p["Podano parametry nazwane"](frame)}} ===
== Funkcje kodów tego projektu ==
=== {{Code|p["Kod projektu tego projektu"](frame)}} ===
=== {{Code|p["Kod języka tego projektu"](frame)}} ===
=== {{Code|p["Klucz projektu tego projektu"](frame)}} ===
== Funkcje stron ==
=== {{Code|p["Strona główna tego projektu"](frame)}} ===
=== {{Code|p["Strona główna dla dzieci tego projektu"](frame)}} ===
== Funkcje nazw stron drugiej wersji ==
=== {{Code|p["Nazwa strony głównej dla dzieci projektu 2"](frame)}} ===
=== {{Code| p["Nazwa strony głównej projektu 2"](frame)}} ===
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
eisnc5s0a6jk3zio5edmhavotivz7on
Dyskusja Wikijuniora:Polska/Arcydzieła literatury polskiej
105
63493
540892
2026-04-26T18:34:56Z
Marek Mazurkiewicz
8990
Utworzono nową stronę ""i należy do jednych z bogatszych tradycji literackich Europy Środkowej" - kto tak twierdzi i jak to się ocenia? ~~~~"
540892
wikitext
text/x-wiki
"i należy do jednych z bogatszych tradycji literackich Europy Środkowej" - kto tak twierdzi i jak to się ocenia? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 20:34, 26 kwi 2026 (CEST)
sfwwfow7ovpuj06tpmczce5vmd0rgns